Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-12-14 17:16:39 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-12-14 17:16:39 +0300
commit32d5429e353b68ed90f2e32edc48a7841a2b4138 (patch)
treeaa61fc94e181859717655b3ee552ab515bf1b178 /source/blender
parent7b70ec6b9d088b6e7d5c2d937d9acd1ec026d38b (diff)
Fix #20323: closing other window while BGE is running crashes.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/space_view3d/view3d_view.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c
index a569eff1ebe..a4f24e90080 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -1709,6 +1709,7 @@ static int game_engine_exec(bContext *C, wmOperator *unused)
Scene *startscene = CTX_data_scene(C);
ScrArea *sa, *prevsa= CTX_wm_area(C);
ARegion *ar, *prevar= CTX_wm_region(C);
+ wmWindow *prevwin= CTX_wm_window(C);
RegionView3D *rv3d;
rcti cam_frame;
@@ -1742,11 +1743,15 @@ static int game_engine_exec(bContext *C, wmOperator *unused)
SaveState(C);
+
StartKetsjiShell(C, ar, &cam_frame, 1);
- RestoreState(C);
+ /* restore context, in case it changed in the meantime, for
+ example by working in another window or closing it */
CTX_wm_region_set(C, prevar);
CTX_wm_area_set(C, prevsa);
+ CTX_wm_window_set(C, prevwin);
+ RestoreState(C);
//XXX restore_all_scene_cfra(scene_cfra_store);
set_scene_bg(startscene);