diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-05-04 05:40:38 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-05-04 09:01:20 +0300 |
commit | 8d5e57748a777a76dbbe85d432d7d8364775713a (patch) | |
tree | 365745db752fc34fb4d0544913eacd3a0801e0ff /source/blender/windowmanager/intern/wm_event_system.c | |
parent | da8a62adcedecf1a7f7f21f47c2ad8153649b423 (diff) |
Cleanup: WM_main_remove_notifier_reference
Assumed the `reference` pointer is an ID, currently true, but may not always be.
Add a callback specifically for this purpose since cleaning up notifiers and space-types are different operations.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_event_system.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index c883b37f6c5..f054c5a43c1 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -218,7 +218,6 @@ void WM_main_remove_notifier_reference(const void *reference) { Main *bmain = G.main; wmWindowManager *wm = bmain->wm.first; - bScreen *sc; if (wm) { wmNotifier *note, *note_next; @@ -233,6 +232,12 @@ void WM_main_remove_notifier_reference(const void *reference) } } } +} + +void WM_main_remove_editor_id_reference(const ID *id) +{ + Main *bmain = G.main; + bScreen *sc; for (sc = bmain->screen.first; sc; sc = sc->id.next) { ScrArea *sa; @@ -244,7 +249,7 @@ void WM_main_remove_notifier_reference(const void *reference) if (sl->spacetype == SPACE_OUTLINER) { SpaceOops *so = (SpaceOops *)sl; - ED_outliner_id_unref(so, (ID *)reference); + ED_outliner_id_unref(so, id); } } } |