[Bf-blender-cvs] [c9e5e81] master: Button Space: clear pin flag when NULL'ing pointer

Campbell Barton noreply at git.blender.org
Mon May 4 08:14:12 CEST 2015


Commit: c9e5e81064d4ce4863d113ea5dc3773500f01d7d
Author: Campbell Barton
Date:   Mon May 4 16:12:12 2015 +1000
Branches: master
https://developer.blender.org/rBc9e5e81064d4ce4863d113ea5dc3773500f01d7d

Button Space: clear pin flag when NULL'ing pointer

===================================================================

M	source/blender/blenkernel/intern/scene.c
M	source/blender/blenloader/intern/readfile.c

===================================================================

diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index c246495..495b351 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -823,6 +823,7 @@ static void scene_unlink_space_buts(SpaceButs *sbuts, Scene *sce)
 {
 	if (sbuts->pinid == &sce->id) {
 		sbuts->pinid = NULL;
+		sbuts->flag &= ~SB_PIN_CONTEXT;
 	}
 
 	BKE_spacedata_id_unref((SpaceLink *)sbuts, &sce->id);
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index d8d56e4..4efb61a 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5975,6 +5975,9 @@ static void lib_link_screen(FileData *fd, Main *main)
 					else if (sl->spacetype == SPACE_BUTS) {
 						SpaceButs *sbuts = (SpaceButs *)sl;
 						sbuts->pinid = newlibadr(fd, sc->id.lib, sbuts->pinid);
+						if (sbuts->pinid == NULL) {
+							sbuts->flag &= ~SB_PIN_CONTEXT;
+						}
 					}
 					else if (sl->spacetype == SPACE_FILE) {
 						;
@@ -6304,6 +6307,9 @@ void blo_lib_link_screen_restore(Main *newmain, bScreen *curscreen, Scene *cursc
 				else if (sl->spacetype == SPACE_BUTS) {
 					SpaceButs *sbuts = (SpaceButs *)sl;
 					sbuts->pinid = restore_pointer_by_name(newmain, sbuts->pinid, USER_IGNORE);
+					if (sbuts->pinid == NULL) {
+						sbuts->flag &= ~SB_PIN_CONTEXT;
+					}
 
 					/* TODO: restore path pointers: T40046
 					 * (complicated because this contains data pointers too, not just ID)*/




More information about the Bf-blender-cvs mailing list