diff options
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 8 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 3 |
2 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index def9d7351ac..dcca2fa60c9 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -32,7 +32,7 @@ #include "DNA_listBase.h" #include "DNA_screen_types.h" #include "DNA_windowmanager_types.h" -#include "DNA_userdef_types.h" /* U.flag & TWOBUTTONMOUSE */ +#include "DNA_userdef_types.h" #include "MEM_guardedalloc.h" @@ -131,7 +131,6 @@ void wm_event_do_notifiers(bContext *C) return; /* cache & catch WM level notifiers, such as frame change, scene/screen set */ - /* XXX todo, multiwindow scenes */ for(win= wm->windows.first; win; win= win->next) { int do_anim= 0; @@ -144,7 +143,10 @@ void wm_event_do_notifiers(bContext *C) ED_screen_set(C, note->reference); // XXX hrms, think this over! } else if(note->category==NC_SCENE) { - if(note->data==ND_FRAME) + if(note->data==ND_SCENEBROWSE) { + ED_screen_set_scene(C, note->reference); // XXX hrms, think this over! + } + else if(note->data==ND_FRAME) do_anim= 1; } } diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index b9bdabcdbfd..c54d738822f 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -357,7 +357,8 @@ static int wm_mainfile_invoke(bContext *C, wmOperator *op, wmEvent *event) { SpaceFile *sfile; - ED_screen_full_newspace(C, CTX_wm_area(C), SPACE_FILE); + if(0==ED_screen_full_newspace(C, CTX_wm_area(C), SPACE_FILE)) + return OPERATOR_CANCELLED; /* settings for filebrowser */ sfile= (SpaceFile*)CTX_wm_space_data(C); |