diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-07-18 18:15:02 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-07-18 18:15:02 +0400 |
commit | b8fc3030b531702b6d1ac8af442e593e4f3ce9fa (patch) | |
tree | 31c0a25691cce25b55eadaa358e03e666e6b73b0 /source/blender/blenkernel/intern/paint.c | |
parent | 882e29650582f46efde115c1d45c1faec7a169fc (diff) | |
parent | e1b060486f0a315cc60c60be07783ab89056229d (diff) |
svn merge -r37793:37865 https://svn.blender.org/svnroot/bf-blender/trunk/blender
Merge info was /trunk/blender:36835-37793,37865-38157
so this should merge in missing files.
Diffstat (limited to 'source/blender/blenkernel/intern/paint.c')
-rw-r--r-- | source/blender/blenkernel/intern/paint.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/paint.c b/source/blender/blenkernel/intern/paint.c index fa6ecb09f48..9a0fc541bce 100644 --- a/source/blender/blenkernel/intern/paint.c +++ b/source/blender/blenkernel/intern/paint.c @@ -85,8 +85,11 @@ Brush *paint_brush(Paint *p) void paint_brush_set(Paint *p, Brush *br) { - if(p) + if(p) { + id_us_min((ID *)p->brush); + id_us_plus((ID *)br); p->brush= br; + } } int paint_facesel_test(Object *ob) @@ -114,12 +117,17 @@ void paint_init(Paint *p, const char col[3]) p->flags |= PAINT_SHOW_BRUSH; } -void free_paint(Paint *UNUSED(paint)) +void free_paint(Paint *paint) { - /* nothing */ + id_us_min((ID *)paint->brush); } +/* called when copying scene settings, so even if 'src' and 'tar' are the same + * still do a id_us_plus(), rather then if we were copying betweem 2 existing + * scenes where a matching value should decrease the existing user count as + * with paint_brush_set() */ void copy_paint(Paint *src, Paint *tar) { tar->brush= src->brush; + id_us_plus((ID *)tar->brush); } |