Revision: 14255 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14255 Author: blendix Date: 2008-03-26 21:17:50 +0100 (Wed, 26 Mar 2008)
Log Message: ----------- Fix for bug #8746: the fake user button for datablocks was not a toggle button, while it should be. Modified Paths: -------------- trunk/blender/source/blender/blenkernel/BKE_brush.h trunk/blender/source/blender/blenkernel/intern/brush.c trunk/blender/source/blender/src/buttons_editing.c trunk/blender/source/blender/src/header_image.c trunk/blender/source/blender/src/headerbuttons.c Modified: trunk/blender/source/blender/blenkernel/BKE_brush.h =================================================================== --- trunk/blender/source/blender/blenkernel/BKE_brush.h 2008-03-26 20:17:20 UTC (rev 14254) +++ trunk/blender/source/blender/blenkernel/BKE_brush.h 2008-03-26 20:17:50 UTC (rev 14255) @@ -48,7 +48,7 @@ int brush_set_nr(struct Brush **current_brush, int nr); int brush_delete(struct Brush **current_brush); void brush_check_exists(struct Brush **brush); -void brush_toggle_fake_user(struct Brush *brush); +void brush_toggled_fake_user(struct Brush *brush); int brush_texture_set_nr(struct Brush *brush, int nr); int brush_texture_delete(struct Brush *brush); int brush_clone_image_set_nr(struct Brush *brush, int nr); Modified: trunk/blender/source/blender/blenkernel/intern/brush.c =================================================================== --- trunk/blender/source/blender/blenkernel/intern/brush.c 2008-03-26 20:17:20 UTC (rev 14254) +++ trunk/blender/source/blender/blenkernel/intern/brush.c 2008-03-26 20:17:50 UTC (rev 14255) @@ -73,7 +73,8 @@ brush->clone.alpha= 0.5; /* enable fake user by default */ - brush_toggle_fake_user(brush); + brush->id.flag |= LIB_FAKEUSER; + brush_toggled_fake_user(brush); return brush; } @@ -95,8 +96,10 @@ } /* enable fake user by default */ - if (!(brushn->id.flag & LIB_FAKEUSER)) - brush_toggle_fake_user(brushn); + if (!(brushn->id.flag & LIB_FAKEUSER)) { + brushn->id.flag |= LIB_FAKEUSER; + brush_toggled_fake_user(brushn); + } return brushn; } @@ -148,8 +151,10 @@ new_id(0, (ID *)brush, 0); /* enable fake user by default */ - if (!(brush->id.flag & LIB_FAKEUSER)) - brush_toggle_fake_user(brush); + if (!(brush->id.flag & LIB_FAKEUSER)) { + brush->id.flag |= LIB_FAKEUSER; + brush_toggled_fake_user(brush); + } } else if(local && lib) { brushn= copy_brush(brush); @@ -203,16 +208,14 @@ return 0; } -void brush_toggle_fake_user(Brush *brush) +void brush_toggled_fake_user(Brush *brush) { ID *id= (ID*)brush; if(id) { if(id->flag & LIB_FAKEUSER) { - id->flag -= LIB_FAKEUSER; + id_us_plus(id); + } else { id->us--; - } else { - id->flag |= LIB_FAKEUSER; - id_us_plus(id); } } } Modified: trunk/blender/source/blender/src/buttons_editing.c =================================================================== --- trunk/blender/source/blender/src/buttons_editing.c 2008-03-26 20:17:20 UTC (rev 14254) +++ trunk/blender/source/blender/src/buttons_editing.c 2008-03-26 20:17:50 UTC (rev 14255) @@ -5915,7 +5915,7 @@ } break; case B_BRUSHKEEPDATA: - brush_toggle_fake_user(settings->imapaint.brush); + brush_toggled_fake_user(settings->imapaint.brush); allqueue(REDRAWBUTSEDIT, 0); allqueue(REDRAWIMAGE, 0); break; Modified: trunk/blender/source/blender/src/header_image.c =================================================================== --- trunk/blender/source/blender/src/header_image.c 2008-03-26 20:17:20 UTC (rev 14254) +++ trunk/blender/source/blender/src/header_image.c 2008-03-26 20:17:50 UTC (rev 14255) @@ -296,7 +296,7 @@ } break; case B_KEEPDATA: - brush_toggle_fake_user(settings->imapaint.brush); + brush_toggled_fake_user(settings->imapaint.brush); allqueue(REDRAWIMAGE, 0); allqueue(REDRAWBUTSEDIT, 0); break; Modified: trunk/blender/source/blender/src/headerbuttons.c =================================================================== --- trunk/blender/source/blender/src/headerbuttons.c 2008-03-26 20:17:20 UTC (rev 14254) +++ trunk/blender/source/blender/src/headerbuttons.c 2008-03-26 20:17:50 UTC (rev 14255) @@ -384,10 +384,7 @@ } if(keepbut) { - if(id->flag & LIB_FAKEUSER) - uiDefBut(block, BUT, keepbut, "F", xco,yco,XIC,YIC, 0, 0, 0, 0, 0, "Don't save this datablock even if it has no users"); - else - uiDefBut(block, BUT, keepbut, "F", xco,yco,XIC,YIC, 0, 0, 0, 0, 0, "Saves this datablock even if it has no users"); + uiDefButBitS(block, TOG, LIB_FAKEUSER, keepbut, "F", xco,yco,XIC,YIC, &id->flag, 0, 0, 0, 0, "Saves this datablock even if it has no users"); xco+= XIC; } } @@ -1649,13 +1646,11 @@ id= (ID *)G.saction->action; }/* similar for other spacetypes ? */ if (id) { - if( id->flag & LIB_FAKEUSER) { - id->flag -= LIB_FAKEUSER; - id->us--; - } else { - id->flag |= LIB_FAKEUSER; + /* flag was already toggled, just need to update user count */ + if(id->flag & LIB_FAKEUSER) id->us++; - } + else + id->us--; } allqueue(REDRAWHEADERS, 0); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs