[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14255] trunk/blender/source/blender:
Brecht Van Lommel
brechtvanlommel at pandora.be
Wed Mar 26 21:17:50 CET 2008
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);
More information about the Bf-blender-cvs
mailing list