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:
-rw-r--r--release/scripts/startup/bl_ui/space_topbar.py2
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c9
-rw-r--r--source/blender/windowmanager/intern/wm_window.c9
3 files changed, 13 insertions, 7 deletions
diff --git a/release/scripts/startup/bl_ui/space_topbar.py b/release/scripts/startup/bl_ui/space_topbar.py
index 937cec9eb29..f0ff5e9a29d 100644
--- a/release/scripts/startup/bl_ui/space_topbar.py
+++ b/release/scripts/startup/bl_ui/space_topbar.py
@@ -621,7 +621,7 @@ class TOPBAR_MT_file(Menu):
layout.separator()
layout.operator_context = 'EXEC_AREA'
- if bpy.data.is_dirty and context.preferences.view.use_quit_dialog:
+ if bpy.data.is_dirty:
layout.operator_context = 'INVOKE_SCREEN' # quit dialog
layout.operator("wm.quit_blender", text="Quit", icon='QUIT')
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index bafcdbf2139..55c257038ad 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -1804,18 +1804,19 @@ static void WM_OT_window_fullscreen_toggle(wmOperatorType *ot)
static int wm_exit_blender_exec(bContext *C, wmOperator *UNUSED(op))
{
- wm_quit_with_optional_confirmation_prompt(C, CTX_wm_window(C));
+ wm_exit_schedule_delayed(C);
return OPERATOR_FINISHED;
}
-static int wm_exit_blender_invoke(bContext *C, wmOperator *op, const wmEvent *event)
+static int wm_exit_blender_invoke(bContext *C, wmOperator *UNUSED(op), const wmEvent *UNUSED(event))
{
if (U.uiflag & USER_QUIT_PROMPT) {
- return wm_exit_blender_exec(C, op);
+ wm_quit_with_optional_confirmation_prompt(C, CTX_wm_window(C));
}
else {
- return WM_operator_confirm(C, op, event);
+ wm_exit_schedule_delayed(C);
}
+ return OPERATOR_FINISHED;
}
static void WM_OT_quit_blender(wmOperatorType *ot)
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index c432dce0757..f41ac7807e2 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -473,8 +473,13 @@ void wm_quit_with_optional_confirmation_prompt(bContext *C, wmWindow *win)
* here (this function gets called outside of normal event handling loop). */
CTX_wm_window_set(C, win);
- if ((U.uiflag & USER_QUIT_PROMPT) && !wm->file_saved && !G.background) {
- wm_confirm_quit(C);
+ if (U.uiflag & USER_QUIT_PROMPT) {
+ if (!wm->file_saved && !G.background) {
+ wm_confirm_quit(C);
+ }
+ else {
+ wm_exit_schedule_delayed(C);
+ }
}
else {
wm_exit_schedule_delayed(C);