Fix Wine Internet Explorer Print hang (#5064)
authorDoug Lyons <douglyons@douglyons.com>
Sun, 12 Feb 2023 18:17:55 +0000 (12:17 -0600)
committerGitHub <noreply@github.com>
Sun, 12 Feb 2023 18:17:55 +0000 (19:17 +0100)
When using wine internet explorer it crashes if you click print even if you click cancel, this fixes that issue.
nsIWebBrowserPrint_Print apparently causes issues for unknown reasons.

JIRA issue: CORE-16884

By returning S_OK print doesn't cause a crash.
Use ERR and S_OK return before hitting nsIWebBrowserPrint_Print

dll/win32/mshtml/olecmd.c

index 96b3f4b..6c419f8 100644 (file)
@@ -241,6 +241,13 @@ static HRESULT exec_print(HTMLDocument *This, DWORD nCmdexecopt, VARIANT *pvaIn,
         return S_OK;
     }
 
+#ifdef __REACTOS__
+    // returning here fixes CORE-16884. Maybe use this until printing works.
+    ERR("Aborting print, to work around CORE-16884\n");
+    nsIWebBrowserPrint_Release(nsprint);
+    return S_OK;
+#endif
+
     nsres = nsIWebBrowserPrint_GetGlobalPrintSettings(nsprint, &settings);
     if(NS_FAILED(nsres))
         ERR("GetCurrentPrintSettings failed: %08x\n", nsres);