diff options
Diffstat (limited to 'source/blender/windowmanager/intern/wm_operators.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index 2a50de62dda..363b8e61763 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -2162,10 +2162,16 @@ static void WM_OT_window_fullscreen_toggle(wmOperatorType *ot) static int wm_exit_blender_exec(bContext *C, wmOperator *op) { - WM_operator_free(op); - - WM_exit(C); - + wmWindowManager *wm = CTX_wm_manager(C); + + if ((U.uiflag & USER_QUIT_PROMPT) && !wm->file_saved) { + wm_confirm_quit(C); + } + else { + WM_operator_free(op); + WM_exit(C); + } + return OPERATOR_FINISHED; } @@ -2175,7 +2181,6 @@ static void WM_OT_quit_blender(wmOperatorType *ot) ot->idname = "WM_OT_quit_blender"; ot->description = "Quit Blender"; - ot->invoke = WM_operator_confirm; ot->exec = wm_exit_blender_exec; } |