diff --git a/dtool/src/dtoolutil/load_dso.cxx b/dtool/src/dtoolutil/load_dso.cxx index 2fceb2e9d8..7be12d4977 100644 --- a/dtool/src/dtoolutil/load_dso.cxx +++ b/dtool/src/dtoolutil/load_dso.cxx @@ -50,7 +50,6 @@ load_dso(const DSearchPath &path, const Filename &filename) { return NULL; } string os_specific = abspath.to_os_specific(); - SetErrorMode(0); // Try using LoadLibraryEx, if possible. typedef HMODULE (WINAPI *tLoadLibraryEx)(LPCTSTR, HANDLE, DWORD); diff --git a/dtool/src/prc/configPageManager.cxx b/dtool/src/prc/configPageManager.cxx index d170e55085..39f97598f4 100644 --- a/dtool/src/prc/configPageManager.cxx +++ b/dtool/src/prc/configPageManager.cxx @@ -390,6 +390,17 @@ reload_implicit_pages() { "or \"mac\".")); PandaFileStreamBuf::_newline_mode = newline_mode; #endif // USE_PANDAFILESTREAM + +#ifdef WIN32 + // We don't necessarily want an error dialog when we fail to load a + // .dll file. But sometimes it is useful for debugging. + if (ConfigVariableBool("show-dll-error-dialog", false)) { + SetErrorMode(0); + } else { + SetErrorMode(SEM_FAILCRITICALERRORS); + } +#endif + } ////////////////////////////////////////////////////////////////////