diff options
author | Ton Roosendaal <ton@blender.org> | 2009-02-17 18:53:52 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-02-17 18:53:52 +0300 |
commit | 9322bddf2c8997adafe3474e50bbb2eab7ab2076 (patch) | |
tree | dcb59d85488efc58d745c9b124bf44a8264526b1 /source/blender/blenkernel | |
parent | 9185f7931aba220c0b8ac82878e869225f2549dd (diff) |
2.5
Fix for the 'repeat last operator' option. It didn't work yet well
outside editmode. Now undo/redo has to fully keep the UI alive,
even when called from within a running popup.
Another fix: when regions collapse/hide they were not effectively
disabled, still accepting events. (like Nkey in 3d window).
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/blender.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index 64acd933d46..be64faec3cf 100644 --- a/source/blender/blenkernel/intern/blender.c +++ b/source/blender/blenkernel/intern/blender.c @@ -321,10 +321,6 @@ static void setup_app_data(bContext *C, BlendFileData *bfd, char *filename) G.main= bfd->main; CTX_data_main_set(C, G.main); - CTX_wm_screen_set(C, NULL); - CTX_wm_area_set(C, NULL); - CTX_wm_region_set(C, NULL); - CTX_wm_ui_block_set(C, NULL, NULL); if (bfd->user) { @@ -340,15 +336,19 @@ static void setup_app_data(bContext *C, BlendFileData *bfd, char *filename) /* case G_FILE_NO_UI or no screens in file */ if(mode) { - CTX_wm_screen_set(C, curscreen); + /* leave entire context further unaltered? */ CTX_data_scene_set(C, curscene); } else { G.winpos= bfd->winpos; G.displaymode= bfd->displaymode; G.fileflags= bfd->fileflags; + CTX_wm_screen_set(C, bfd->curscreen); CTX_data_scene_set(C, bfd->curscreen->scene); + CTX_wm_area_set(C, NULL); + CTX_wm_region_set(C, NULL); + CTX_wm_ui_block_set(C, NULL, NULL); } /* this can happen when active scene was lib-linked, and doesnt exist anymore */ @@ -372,8 +372,9 @@ static void setup_app_data(bContext *C, BlendFileData *bfd, char *filename) //setscreen(G.curscreen); } - // XXX is this in the right place? - do_versions_ipos_to_animato(G.main); // XXX fixme... complicated versionpatching + // XXX temporarily here + if(G.main->versionfile < 250) + do_versions_ipos_to_animato(G.main); // XXX fixme... complicated versionpatching /* baseflags, groups, make depsgraph, etc */ set_scene_bg(CTX_data_scene(C)); |