[Bf-blender-cvs] [3a3e5fb365b] master: Fix T69935: Silence Win32 OS Error Dialogs
Harley Acheson
noreply at git.blender.org
Sun Sep 29 20:43:41 CEST 2019
Commit: 3a3e5fb365bac2f3ee653c446215727d9e339648
Author: Harley Acheson
Date: Sun Sep 29 11:42:02 2019 -0700
Branches: master
https://developer.blender.org/rB3a3e5fb365bac2f3ee653c446215727d9e339648
Fix T69935: Silence Win32 OS Error Dialogs
Call SetErrorMode() at startup to prevent error mode dialogs.
Differential Revision: https://developer.blender.org/D5941
Reviewed by Brecht Van Lommel
===================================================================
M source/blender/blenlib/intern/storage.c
M source/creator/creator_signals.c
===================================================================
diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c
index 8d921b062dc..05a2d766fe0 100644
--- a/source/blender/blenlib/intern/storage.c
+++ b/source/blender/blenlib/intern/storage.c
@@ -230,14 +230,8 @@ int BLI_exists(const char *name)
tmp_16[3] = L'\0';
}
- /* change error mode so user does not get a "no disk in drive" popup
- * when looking for a file on an empty CD/DVD drive */
- old_error_mode = SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
-
res = BLI_wstat(tmp_16, &st);
- SetErrorMode(old_error_mode);
-
free(tmp_16);
if (res == -1) {
return (0);
diff --git a/source/creator/creator_signals.c b/source/creator/creator_signals.c
index 5a5bc74d2d3..e8c6e9251bc 100644
--- a/source/creator/creator_signals.c
+++ b/source/creator/creator_signals.c
@@ -301,6 +301,12 @@ void main_signal_setup(void)
# endif
}
+# ifdef WIN32
+ /* Prevent any error mode dialogs from hanging the application. */
+ SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOALIGNMENTFAULTEXCEPT | SEM_NOGPFAULTERRORBOX |
+ SEM_NOOPENFILEERRORBOX);
+# endif
+
if (app_state.signal.use_abort_handler) {
signal(SIGABRT, sig_handle_abort);
}
More information about the Bf-blender-cvs
mailing list