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;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to