[Bf-blender-cvs] [c24ba18] id-remap: Found more id-remap missing cases in spaces (new(?) ads of anim editors).

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


Commit: c24ba18d7a241e54dd4a3f5adbe7713f882d826e
Author: Bastien Montagne
Date:   Thu Jun 16 17:16:25 2016 +0200
Branches: id-remap
https://developer.blender.org/rBc24ba18d7a241e54dd4a3f5adbe7713f882d826e

Found more id-remap missing cases in spaces (new(?) ads of anim editors).

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

M	source/blender/editors/space_action/space_action.c
M	source/blender/editors/space_graph/space_graph.c
M	source/blender/editors/space_nla/space_nla.c

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

diff --git a/source/blender/editors/space_action/space_action.c b/source/blender/editors/space_action/space_action.c
index 6024010..64b140a 100644
--- a/source/blender/editors/space_action/space_action.c
+++ b/source/blender/editors/space_action/space_action.c
@@ -33,6 +33,7 @@
 #include <stdio.h>
 
 #include "DNA_action_types.h"
+#include "DNA_group_types.h"
 #include "DNA_scene_types.h"
 
 #include "MEM_guardedalloc.h"
@@ -614,6 +615,15 @@ static void action_refresh(const bContext *C, ScrArea *sa)
 	// XXX re-sizing y-extents of tot should go here?
 }
 
+static void action_id_remap(ScrArea *UNUSED(sa), SpaceLink *slink, ID *old_id, ID *new_id)
+{
+	SpaceAction *sact = (SpaceAction *)slink;
+
+	if ((ID *)sact->ads.filter_grp == old_id) {
+		sact->ads.filter_grp = (Group *)new_id;
+	}
+}
+
 /* only called once, from space/spacetypes.c */
 void ED_spacetype_action(void)
 {
@@ -631,7 +641,8 @@ void ED_spacetype_action(void)
 	st->keymap = action_keymap;
 	st->listener = action_listener;
 	st->refresh = action_refresh;
-	
+	st->id_remap = action_id_remap;
+
 	/* regions: main window */
 	art = MEM_callocN(sizeof(ARegionType), "spacetype action region");
 	art->regionid = RGN_TYPE_WINDOW;
diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c
index c6a8a97..bc851ea 100644
--- a/source/blender/editors/space_graph/space_graph.c
+++ b/source/blender/editors/space_graph/space_graph.c
@@ -33,6 +33,7 @@
 #include <stdio.h>
 
 #include "DNA_anim_types.h"
+#include "DNA_group_types.h"
 #include "DNA_scene_types.h"
 
 #include "MEM_guardedalloc.h"
@@ -627,6 +628,15 @@ static void graph_refresh(const bContext *C, ScrArea *sa)
 	}
 }
 
+static void graph_id_remap(ScrArea *UNUSED(sa), SpaceLink *slink, ID *old_id, ID *new_id)
+{
+	SpaceIpo *sgraph = (SpaceIpo *)slink;
+
+	if ((ID *)sgraph->ads->filter_grp == old_id) {
+		sgraph->ads->filter_grp = (Group *)new_id;
+	}
+}
+
 /* only called once, from space/spacetypes.c */
 void ED_spacetype_ipo(void)
 {
@@ -644,7 +654,8 @@ void ED_spacetype_ipo(void)
 	st->keymap = graphedit_keymap;
 	st->listener = graph_listener;
 	st->refresh = graph_refresh;
-	
+	st->id_remap = graph_id_remap;
+
 	/* regions: main window */
 	art = MEM_callocN(sizeof(ARegionType), "spacetype graphedit region");
 	art->regionid = RGN_TYPE_WINDOW;
diff --git a/source/blender/editors/space_nla/space_nla.c b/source/blender/editors/space_nla/space_nla.c
index e2b36c5..7b66ddf 100644
--- a/source/blender/editors/space_nla/space_nla.c
+++ b/source/blender/editors/space_nla/space_nla.c
@@ -33,6 +33,7 @@
 #include <stdio.h>
 
 #include "DNA_anim_types.h"
+#include "DNA_group_types.h"
 #include "DNA_scene_types.h"
 
 #include "MEM_guardedalloc.h"
@@ -501,6 +502,15 @@ static void nla_listener(bScreen *UNUSED(sc), ScrArea *sa, wmNotifier *wmn)
 	}
 }
 
+static void nla_id_remap(ScrArea *UNUSED(sa), SpaceLink *slink, ID *old_id, ID *new_id)
+{
+	SpaceNla *snla = (SpaceNla *)slink;
+
+	if ((ID *)snla->ads->filter_grp == old_id) {
+		snla->ads->filter_grp = (Group *)new_id;
+	}
+}
+
 /* only called once, from space/spacetypes.c */
 void ED_spacetype_nla(void)
 {
@@ -517,7 +527,8 @@ void ED_spacetype_nla(void)
 	st->operatortypes = nla_operatortypes;
 	st->listener = nla_listener;
 	st->keymap = nla_keymap;
-	
+	st->id_remap = nla_id_remap;
+
 	/* regions: main window */
 	art = MEM_callocN(sizeof(ARegionType), "spacetype nla region");
 	art->regionid = RGN_TYPE_WINDOW;




More information about the Bf-blender-cvs mailing list