Skip to content

Commit a8a33ef

Browse files
committed
143.0.0.2575
1 parent 8df700d commit a8a33ef

File tree

426 files changed

+66692
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

426 files changed

+66692
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
diff --git a/toolkit/xre/nsWindowsWMain.cpp b/toolkit/xre/nsWindowsWMain.cpp
2+
index 7eb9e1104682..ea14a59b80bb 100644
3+
--- a/toolkit/xre/nsWindowsWMain.cpp
4+
+++ b/toolkit/xre/nsWindowsWMain.cpp
5+
@@ -15,8 +15,10 @@
6+
7+
#include "mozilla/Char16.h"
8+
#include "nsUTF8Utils.h"
9+
+#include "nsWindowsHelpers.h"
10+
11+
#include <windows.h>
12+
+#include <versionhelpers.h>
13+
14+
#ifdef __MINGW32__
15+
16+
@@ -112,6 +114,20 @@ static void FreeAllocStrings(int argc, char** argv) {
17+
}
18+
19+
int wmain(int argc, WCHAR** argv) {
20+
+ // In Windows 7 32-bit, user32.dll must be mapped to the same virtual
21+
+ // address in all processes. Otherwise, win32k's user-mode callback causes
22+
+ // crash. Since we delayload user32.dll, if our code or injected code
23+
+ // reserves the user32 address before user32.dll is loaded, it is loaded
24+
+ // to a new address and we crash. To mitigate this problem, we explicitly
25+
+ // load user32.dll as early as possible. See bug 1730033 for details.
26+
+ if (!IsWindows8OrGreater()) {
27+
+ SYSTEM_INFO sysInfo;
28+
+ ::GetNativeSystemInfo(&sysInfo);
29+
+ if (sysInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) {
30+
+ LoadLibrarySystem32(L"user32.dll");
31+
+ }
32+
+ }
33+
+
34+
SanitizeEnvironmentVariables();
35+
SetDllDirectoryW(L"");
36+

0 commit comments

Comments
 (0)