[Bf-blender-cvs] [fc10e42] id-remap: Finish TODOs related to buttons space and ID remapping.

Bastien Montagne noreply at git.blender.org
Thu Jun 16 17:17:19 CEST 2016


Commit: fc10e42de365943efad77367ac97280b5a33251f
Author: Bastien Montagne
Date:   Thu Jun 16 16:47:32 2016 +0200
Branches: id-remap
https://developer.blender.org/rBfc10e42de365943efad77367ac97280b5a33251f

Finish TODOs related to buttons space and ID remapping.

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

M	source/blender/editors/space_buttons/space_buttons.c

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

diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c
index f9fb152..122fb3e 100644
--- a/source/blender/editors/space_buttons/space_buttons.c
+++ b/source/blender/editors/space_buttons/space_buttons.c
@@ -426,11 +426,22 @@ static void buttons_id_remap(ScrArea *UNUSED(sa), SpaceLink *slink, ID *old_id,
 		}
 		else {
 			RNA_id_pointer_create(new_id, &path->ptr[i]);
-			/* TODO_REMAP: Check path further down remains valid? Or nullify it systematically? */
+			/* There is no easy way to check/make path downwards valid, just nullify it.
+			 * Next redraw will rebuild this anyway. */
+			i++;
+			memset(&path->ptr[i], 0, sizeof(path->ptr[i]) * (path->len - i));
+			path->len = i;
 		}
 	}
 
-	/* TODO_REMAP: sbuts->texuser ? */
+	if (sbuts->texuser) {
+		ButsContextTexture *ct = sbuts->texuser;
+		if (ct->texture == old_id) {
+			ct->texture = new_id;
+		}
+		BLI_freelistN(&ct->users);
+		ct->user = NULL;
+	}
 }
 
 /* only called once, from space/spacetypes.c */




More information about the Bf-blender-cvs mailing list