diff options
author | Ton Roosendaal <ton@blender.org> | 2009-02-11 19:54:55 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-02-11 19:54:55 +0300 |
commit | 2e79e4e9751aa44da905fb0646d8b9b8b4f9d825 (patch) | |
tree | ca7ee580f9c3a6b31b5a0237c0136f5c089d6c5c /source/blender/windowmanager | |
parent | f3c67b070fc6baa18cd84aee26170d8ac6ee98ab (diff) |
2.5
Smaller jobs, all in one commit!
- Moved object_do_update out of view3d drawing, into
the event system (currently after notifiers).
Depsgraph calls for setting update flags will have to
keep track of each Screen's needs, so a UI showing only
a Sequencer doesn't do objects.
- Added button in "Properties region" in 3D window to set
or disable 4-split, including the 3 options it has.
(lock, box, clip)
- Restored legacy code for UI, to make things work like
bone rename, autocomplete.
- Node editor now shows Curves widgets again
- Bugfix: composite job increased Viewer user id count
- Bugfix: Node editor, not "Enable nodes" still called
a Job, which didn't do anything
- Various code cleaning, unused vars and prototypes.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 886456733f9..1f417860e0c 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -31,6 +31,7 @@ #include "DNA_listBase.h" #include "DNA_screen_types.h" +#include "DNA_scene_types.h" #include "DNA_windowmanager_types.h" #include "DNA_userdef_types.h" @@ -44,7 +45,9 @@ #include "BKE_context.h" #include "BKE_idprop.h" #include "BKE_global.h" +#include "BKE_object.h" #include "BKE_report.h" +#include "BKE_scene.h" #include "BKE_utildefines.h" #include "ED_screen.h" @@ -194,7 +197,10 @@ void wm_event_do_notifiers(bContext *C) /* cached: editor refresh callbacks now, they get context */ for(win= wm->windows.first; win; win= win->next) { + Scene *sce, *scene= win->screen->scene; ScrArea *sa; + Base *base; + CTX_wm_window_set(C, win); for(sa= win->screen->areabase.first; sa; sa= sa->next) { if(sa->do_refresh) { @@ -202,6 +208,19 @@ void wm_event_do_notifiers(bContext *C) ED_area_do_refresh(C, sa); } } + + /* update all objects, ipos, matrices, displists, etc. Flags set by depgraph or manual, + no layer check here, gets correct flushed */ + /* sets first, we allow per definition current scene to have dependencies on sets */ + if(scene->set) { + for(SETLOOPER(scene->set, base)) + object_handle_update(scene, base->object); + } + + for(base= scene->base.first; base; base= base->next) { + object_handle_update(scene, base->object); + } + } CTX_wm_window_set(C, NULL); } |