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:
Diffstat (limited to 'source/blender/windowmanager/intern/wm.c')
-rw-r--r--source/blender/windowmanager/intern/wm.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c
index 5b7f892592b..1d173005d85 100644
--- a/source/blender/windowmanager/intern/wm.c
+++ b/source/blender/windowmanager/intern/wm.c
@@ -209,8 +209,10 @@ void wm_check(bContext *C)
if(wm->windows.first==NULL) return;
/* case: fileread */
- if((wm->initialized & WM_INIT_WINDOW) == 0)
+ if((wm->initialized & WM_INIT_WINDOW) == 0) {
WM_keymap_init(C);
+ WM_autosave_init(C);
+ }
/* case: no open windows at all, for old file reads */
wm_window_add_ghostwindows(wm);
@@ -269,12 +271,15 @@ void wm_close_and_free(bContext *C, wmWindowManager *wm)
wmWindow *win;
wmOperator *op;
wmKeyConfig *keyconf;
-
+
+ if(wm->autosavetimer)
+ wm_autosave_timer_ended(wm);
+
while((win= wm->windows.first)) {
BLI_remlink(&wm->windows, win);
win->screen= NULL; /* prevent draw clear to use screen */
wm_draw_window_clear(win);
- wm_window_free(C, win);
+ wm_window_free(C, wm, win);
}
while((op= wm->operators.first)) {
@@ -290,6 +295,7 @@ void wm_close_and_free(bContext *C, wmWindowManager *wm)
BLI_freelistN(&wm->queue);
BLI_freelistN(&wm->paintcursors);
+ BKE_reports_clear(&wm->reports);
if(C && CTX_wm_manager(C)==wm) CTX_wm_manager_set(C, NULL);
}