diff options
author | Alexander Kuznetsov <kuzsasha@gmail.com> | 2012-03-16 21:37:45 +0400 |
---|---|---|
committer | Alexander Kuznetsov <kuzsasha@gmail.com> | 2012-03-16 21:37:45 +0400 |
commit | ed44ddd816d3bcd9be2e2097e1087dcdbf9b91e1 (patch) | |
tree | 357e958f56adb04aa07e20af827c8d0b6ba5532f /source/blender/windowmanager | |
parent | 2caa507b7eaa7d55a0be7bda513f08ecfe4791f1 (diff) |
Patch by Psy-Fi + my minor changes
Adds conformation on exit for windows. Needs to be enabled in user perf.
Tried to edit blender.exe.manifest for more modern dialog look, but didn't work out.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_window.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 7893ac2f639..4ccebf7a4ff 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -250,8 +250,25 @@ wmWindow *wm_window_copy(bContext *C, wmWindow *winorig) /* this is event from ghost, or exit-blender op */ void wm_window_close(bContext *C, wmWindowManager *wm, wmWindow *win) { + wmWindow *tmpwin; bScreen *screen= win->screen; + /* first check if we have any non-temp remaining windows */ + if((U.uiflag & USER_QUIT_PROMPT) && !wm->file_saved){ + if(wm->windows.first) { + for(tmpwin = wm->windows.first; tmpwin; tmpwin = tmpwin->next){ + if(tmpwin == win) + continue; + if(tmpwin->screen->temp == 0) + break; + } + if(tmpwin == NULL){ + if(!GHOST_confirmQuit(win->ghostwin)) + return; + } + } + } + BLI_remlink(&wm->windows, win); wm_draw_window_clear(win); |