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:
authorAlexander Kuznetsov <kuzsasha@gmail.com>2012-03-16 21:37:45 +0400
committerAlexander Kuznetsov <kuzsasha@gmail.com>2012-03-16 21:37:45 +0400
commited44ddd816d3bcd9be2e2097e1087dcdbf9b91e1 (patch)
tree357e958f56adb04aa07e20af827c8d0b6ba5532f /source/blender/windowmanager
parent2caa507b7eaa7d55a0be7bda513f08ecfe4791f1 (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.c17
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);