V45.38: suppress iZotope 0x7E dialog
- _is_vst2_dll: pure-Python PE export-table check (magic-aware dd offset PE32+112) -> IZOzone11Core.dll (runtime lib, no VSTPluginMain) dropped from VST2 lists in _scan_plugins and list_scan_all; plugins.py same. - _hidden_desktop_startupinfo: scan subprocess runs on hidden desktop (user32 CreateDesktopW, HDESK restype) -> third-party MessageBox invisible. - SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOOPENFILEERRORBOX) in all 4 bridge mains: missing dependency DLL fails silently instead of blocking.
This commit is contained in:
@@ -106,6 +106,10 @@ public:
|
||||
};
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
#ifdef _WIN32
|
||||
// Suppress Windows loader error dialogs (0x7E) during probe loads.
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
|
||||
#endif
|
||||
if (argc < 2) {
|
||||
printf("usage: gui_probe <plugin.vst3> [variant] [secs] [hwnd]\n"
|
||||
"variants: main_own | worker_own_nopump | worker_own_pump | worker_foreign_nopump | worker_foreign_pump | bridge_like | same_thread | two_instances | two_instances_close | close_reopen | bridge_two | shared_worker | ui_thread | two_workers_close\n");
|
||||
|
||||
@@ -715,6 +715,10 @@ int main(int argc, char* argv[]) {
|
||||
SetUnhandledExceptionFilter(CrashDumpHandler);
|
||||
AddVectoredExceptionHandler(1, VectoredCrashHandler);
|
||||
#ifdef _WIN32
|
||||
// Suppress Windows loader error dialogs: a plugin whose dependency DLL is
|
||||
// missing (LoadLibrary -> 0x7E) must fail silently, not pop a MessageBox
|
||||
// that blocks the user. Child processes inherit this error mode.
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
|
||||
// Background daemon: detach the console window unless SF_KEEP_CONSOLE is
|
||||
// set. Console apps spawned from the GUI (tauri-shell, Popen) flash a
|
||||
// console window otherwise. Redirected stdio (pipe to bridge.log / the
|
||||
|
||||
@@ -106,6 +106,9 @@ int main(int argc, char* argv[]) {
|
||||
#ifdef _WIN32
|
||||
SetUnhandledExceptionFilter(FxCrashDumpHandler);
|
||||
AddVectoredExceptionHandler(1, FxVectoredCrashHandler);
|
||||
// Suppress Windows loader error dialogs (plugin dependency thiếu -> 0x7E
|
||||
// phải fail âm thầm, không MessageBox chặn user; child kế thừa error mode).
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
|
||||
win_daemon_init();
|
||||
#endif
|
||||
// stderr, not stdout: stdout is reserved for machine-readable output in
|
||||
|
||||
@@ -86,6 +86,11 @@ static HWND make_host_window() {
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
#ifdef _WIN32
|
||||
// Suppress Windows loader error dialogs — plugin dependency thiếu (0x7E)
|
||||
// phải fail âm thầm, không MessageBox chặn user.
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
|
||||
#endif
|
||||
std::string shmName, path, presetFile;
|
||||
double sr = 44100.0;
|
||||
uint32_t block = AUDIO_BLOCK_SIZE;
|
||||
|
||||
Reference in New Issue
Block a user