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
path: root/source
diff options
context:
space:
mode:
authorHarley Acheson <harley.acheson@gmail.com>2019-09-29 21:42:02 +0300
committerHarley Acheson <harley.acheson@gmail.com>2019-09-29 21:43:24 +0300
commit3a3e5fb365bac2f3ee653c446215727d9e339648 (patch)
treea12a98dac6b5aea2f31477ad97256b29b7a64add /source
parent98c0d16da53ab45d1927b90429b45a558398cbf2 (diff)
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
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenlib/intern/storage.c6
-rw-r--r--source/creator/creator_signals.c6
2 files changed, 6 insertions, 6 deletions
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);
}