mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Removed several patches (accepted upstream).
This commit is contained in:
parent
7787c66cc7
commit
b165863a60
@ -57,7 +57,7 @@ Included bugfixes and improvements
|
||||
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](http://bugs.winehq.org/show_bug.cgi?id=16550))
|
||||
* Fix for programs leaking wndproc slots ([Wine Bug #32451](http://bugs.winehq.org/show_bug.cgi?id=32451))
|
||||
* Fix gray screen on startup introduced by pixelformat changes. ([Wine Bug #35975](http://bugs.winehq.org/show_bug.cgi?id=35975))
|
||||
* Fix issue with invisible dragimages in ImageList ([Wine Bug #36761](http://bugs.winehq.org/show_bug.cgi?id=36761))
|
||||
* ~~Fix issue with invisible dragimages in ImageList~~ ([Wine Bug #36761](http://bugs.winehq.org/show_bug.cgi?id=36761))
|
||||
* Fix issues when driver dispatch routine returns different status codes ([Wine Bug #30155](http://bugs.winehq.org/show_bug.cgi?id=30155))
|
||||
* Fix missing video introduced by pixelformat changes. ([Wine Bug #36900](http://bugs.winehq.org/show_bug.cgi?id=36900))
|
||||
* Fix unintentional leaks with ntdll internals
|
||||
@ -79,7 +79,7 @@ Included bugfixes and improvements
|
||||
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](http://bugs.winehq.org/show_bug.cgi?id=23174))
|
||||
* SO_CONNECT_TIME returns the appropriate time
|
||||
* Send WM_PAINT event during dialog creation ([Wine Bug #35652](http://bugs.winehq.org/show_bug.cgi?id=35652))
|
||||
* Set ldr.EntryPoint for main executable ([Wine Bug #33034](http://bugs.winehq.org/show_bug.cgi?id=33034))
|
||||
* ~~Set ldr.EntryPoint for main executable~~ ([Wine Bug #33034](http://bugs.winehq.org/show_bug.cgi?id=33034))
|
||||
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](http://bugs.winehq.org/show_bug.cgi?id=34372))
|
||||
* Support for DOS hidden/system file attributes ([Wine Bug #9158](http://bugs.winehq.org/show_bug.cgi?id=9158))
|
||||
* Support for Dynamic DST (daylight saving time) information in registry
|
||||
|
3
debian/changelog
vendored
3
debian/changelog
vendored
@ -1,6 +1,9 @@
|
||||
wine-compholio (1.7.29) UNRELEASED; urgency=low
|
||||
* Updated DOS Attributes patch to better detect XATTR functions.
|
||||
* Added patch to support IDF_CHECKFIRST in SetupPromptForDisk.
|
||||
* Removed patch to fix issues with drag image in ImageLists (accepted upstream).
|
||||
* Removed patch to set ldr.EntryPoint for main executable (accepted upstream).
|
||||
* Partially removed patches for WRITECOPY memory protection (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 06 Oct 2014 01:02:37 +0200
|
||||
|
||||
wine-compholio (1.7.28) unstable; urgency=low
|
||||
|
@ -23,7 +23,6 @@ PATCHLIST := \
|
||||
Miscellaneous.ok \
|
||||
Pipelight.ok \
|
||||
atl-IOCS_Property.ok \
|
||||
comctl32-ImageList.ok \
|
||||
comctl32-LoadIconMetric.ok \
|
||||
configure-Absolute_RPATH.ok \
|
||||
configure-Detect_Gnutls.ok \
|
||||
@ -51,7 +50,6 @@ PATCHLIST := \
|
||||
ntdll-NtQuerySection.ok \
|
||||
ntdll-Pipe_SpecialCharacters.ok \
|
||||
ntdll-WRITECOPY.ok \
|
||||
ntdll-loader_EntryPoint.ok \
|
||||
ntoskrnl-Irp_Status.ok \
|
||||
quartz-MediaSeeking_Positions.ok \
|
||||
riched20-IText_Interface.ok \
|
||||
@ -239,24 +237,6 @@ atl-IOCS_Property.ok:
|
||||
echo '+ { "atl-IOCS_Property", "Qian Hong", "Store IOCS data in a property instead of GWLP_USERDATA." },'; \
|
||||
) > atl-IOCS_Property.ok
|
||||
|
||||
# Patchset comctl32-ImageList
|
||||
# |
|
||||
# | Included patches:
|
||||
# | * Fix issue that dragimage in ImageList only works for first four elements. [by Sebastian Lackner]
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#36761] Fix issue with invisible dragimages in ImageList
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/comctl32/imagelist.c
|
||||
# |
|
||||
.INTERMEDIATE: comctl32-ImageList.ok
|
||||
comctl32-ImageList.ok:
|
||||
$(call APPLY_FILE,comctl32-ImageList/0001-comctl32-Fix-issue-that-dragimage-in-ImageList-only-.patch)
|
||||
@( \
|
||||
echo '+ { "comctl32-ImageList", "Sebastian Lackner", "Fix issue that dragimage in ImageList only works for first four elements." },'; \
|
||||
) > comctl32-ImageList.ok
|
||||
|
||||
# Patchset comctl32-LoadIconMetric
|
||||
# |
|
||||
# | Included patches:
|
||||
@ -749,7 +729,7 @@ ntdll-Pipe_SpecialCharacters.ok:
|
||||
# | * [#29384] Voobly expects correct handling of WRITECOPY memory protection
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/advapi32/crypt.c, dlls/kernel32/tests/virtual.c, dlls/ntdll/loader.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/server.c,
|
||||
# | * dlls/advapi32/crypt.c, dlls/kernel32/tests/virtual.c, dlls/ntdll/ntdll_misc.h, dlls/ntdll/server.c,
|
||||
# | dlls/ntdll/signal_arm.c, dlls/ntdll/signal_arm64.c, dlls/ntdll/signal_i386.c, dlls/ntdll/signal_powerpc.c,
|
||||
# | dlls/ntdll/signal_x86_64.c, dlls/ntdll/thread.c, dlls/ntdll/virtual.c
|
||||
# |
|
||||
@ -757,34 +737,13 @@ ntdll-Pipe_SpecialCharacters.ok:
|
||||
ntdll-WRITECOPY.ok:
|
||||
$(call APPLY_FILE,ntdll-WRITECOPY/0001-ntdll-Trigger-write-watches-before-passing-userdata-.patch)
|
||||
$(call APPLY_FILE,ntdll-WRITECOPY/0002-advapi-Trigger-write-watches-before-passing-userdata.patch)
|
||||
$(call APPLY_FILE,ntdll-WRITECOPY/0003-ntdll-Fix-handling-of-page-fault-if-a-guard-page-and.patch)
|
||||
$(call APPLY_FILE,ntdll-WRITECOPY/0004-ntdll-Wait-until-builtin-dlls-are-unloaded-before-re.patch)
|
||||
$(call APPLY_FILE,ntdll-WRITECOPY/0005-ntdll-Setup-a-temporary-signal-handler-during-proces.patch)
|
||||
$(call APPLY_FILE,ntdll-WRITECOPY/0006-ntdll-Properly-handle-PAGE_WRITECOPY-protection.patch)
|
||||
$(call APPLY_FILE,ntdll-WRITECOPY/0007-ntdll-Only-enable-true-WRITECOPY-protection-when-a-s.patch)
|
||||
$(call APPLY_FILE,ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch)
|
||||
$(call APPLY_FILE,ntdll-WRITECOPY/0004-ntdll-Properly-handle-PAGE_WRITECOPY-protection.patch)
|
||||
$(call APPLY_FILE,ntdll-WRITECOPY/0005-ntdll-Only-enable-true-WRITECOPY-protection-when-a-s.patch)
|
||||
@( \
|
||||
echo '+ { "ntdll-WRITECOPY", "Michael Müller", "Change WRITECOPY memory protection to WRITE on first write. [rev 3]" },'; \
|
||||
) > ntdll-WRITECOPY.ok
|
||||
|
||||
# Patchset ntdll-loader_EntryPoint
|
||||
# |
|
||||
# | Included patches:
|
||||
# | * Set ldr.EntryPoint for main executable. [by Sebastian Lackner]
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#33034] Set ldr.EntryPoint for main executable
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/kernel32/tests/module.c, dlls/ntdll/loader.c
|
||||
# |
|
||||
.INTERMEDIATE: ntdll-loader_EntryPoint.ok
|
||||
ntdll-loader_EntryPoint.ok:
|
||||
$(call APPLY_FILE,ntdll-loader_EntryPoint/0001-kernel32-tests-Add-tests-for-K32GetModuleInformation.patch)
|
||||
$(call APPLY_FILE,ntdll-loader_EntryPoint/0002-ntdll-Set-ldr.EntryPoint-for-main-executable.-resend.patch)
|
||||
@( \
|
||||
echo '+ { "ntdll-loader_EntryPoint", "Sebastian Lackner", "Set ldr.EntryPoint for main executable." },'; \
|
||||
) > ntdll-loader_EntryPoint.ok
|
||||
|
||||
# Patchset ntoskrnl-Irp_Status
|
||||
# |
|
||||
# | Included patches:
|
||||
|
@ -1,42 +0,0 @@
|
||||
From a79d771501ec85da65e27234972807364e1b29db Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 18 Aug 2014 00:50:41 +0200
|
||||
Subject: comctl32: Fix issue that dragimage in ImageList only works for first
|
||||
four elements.
|
||||
|
||||
Patch by ocean04 [at] suomi24 [dot] fi, provided at Wine bug #36761.
|
||||
---
|
||||
dlls/comctl32/imagelist.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c
|
||||
index 645068d..f15a0a9 100644
|
||||
--- a/dlls/comctl32/imagelist.c
|
||||
+++ b/dlls/comctl32/imagelist.c
|
||||
@@ -599,6 +599,7 @@ ImageList_BeginDrag (HIMAGELIST himlTrack, INT iTrack,
|
||||
INT dxHotspot, INT dyHotspot)
|
||||
{
|
||||
INT cx, cy;
|
||||
+ POINT ptSrc;
|
||||
|
||||
TRACE("(himlTrack=%p iTrack=%d dx=%d dy=%d)\n", himlTrack, iTrack,
|
||||
dxHotspot, dyHotspot);
|
||||
@@ -620,12 +621,13 @@ ImageList_BeginDrag (HIMAGELIST himlTrack, INT iTrack,
|
||||
|
||||
InternalDrag.dxHotspot = dxHotspot;
|
||||
InternalDrag.dyHotspot = dyHotspot;
|
||||
+ imagelist_point_from_index( himlTrack, iTrack, &ptSrc );
|
||||
|
||||
/* copy image */
|
||||
- BitBlt (InternalDrag.himl->hdcImage, 0, 0, cx, cy, himlTrack->hdcImage, iTrack * cx, 0, SRCCOPY);
|
||||
+ BitBlt (InternalDrag.himl->hdcImage, 0, 0, cx, cy, himlTrack->hdcImage, ptSrc.x, ptSrc.y, SRCCOPY);
|
||||
|
||||
/* copy mask */
|
||||
- BitBlt (InternalDrag.himl->hdcMask, 0, 0, cx, cy, himlTrack->hdcMask, iTrack * cx, 0, SRCCOPY);
|
||||
+ BitBlt (InternalDrag.himl->hdcMask, 0, 0, cx, cy, himlTrack->hdcMask, ptSrc.x, ptSrc.y, SRCCOPY);
|
||||
|
||||
InternalDrag.himl->cCurImage = 1;
|
||||
|
||||
--
|
||||
1.7.9.5
|
||||
|
@ -1,4 +0,0 @@
|
||||
Author: Sebastian Lackner
|
||||
Subject: Fix issue that dragimage in ImageList only works for first four elements.
|
||||
Revision: 1
|
||||
Fixes: [36761] Fix issue with invisible dragimages in ImageList
|
@ -1,41 +0,0 @@
|
||||
From 9adae8afba3818e91532cc84cdfe350d27aa0434 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 4 Oct 2014 02:48:16 +0200
|
||||
Subject: ntdll: Fix handling of page fault if a guard page and write watch is
|
||||
triggered at the same time.
|
||||
|
||||
---
|
||||
dlls/ntdll/virtual.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
|
||||
index 4819d2d..f8a5dd3 100644
|
||||
--- a/dlls/ntdll/virtual.c
|
||||
+++ b/dlls/ntdll/virtual.c
|
||||
@@ -1522,11 +1522,6 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err )
|
||||
{
|
||||
void *page = ROUND_ADDR( addr, page_mask );
|
||||
BYTE *vprot = &view->prot[((const char *)page - (const char *)view->base) >> page_shift];
|
||||
- if (*vprot & VPROT_GUARD)
|
||||
- {
|
||||
- VIRTUAL_SetProt( view, page, page_size, *vprot & ~VPROT_GUARD );
|
||||
- ret = STATUS_GUARD_PAGE_VIOLATION;
|
||||
- }
|
||||
if ((err & EXCEPTION_WRITE_FAULT) && (view->protect & VPROT_WRITEWATCH))
|
||||
{
|
||||
if (*vprot & VPROT_WRITEWATCH)
|
||||
@@ -1537,6 +1532,11 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err )
|
||||
/* ignore fault if page is writable now */
|
||||
if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
|
||||
}
|
||||
+ if (*vprot & VPROT_GUARD)
|
||||
+ {
|
||||
+ VIRTUAL_SetProt( view, page, page_size, *vprot & ~VPROT_GUARD );
|
||||
+ ret = STATUS_GUARD_PAGE_VIOLATION;
|
||||
+ }
|
||||
}
|
||||
server_leave_uninterrupted_section( &csVirtual, &sigset );
|
||||
return ret;
|
||||
--
|
||||
2.1.1
|
||||
|
@ -1,27 +0,0 @@
|
||||
From da712e7425c012b55cda572e7e57545b7cd86314 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 4 Oct 2014 02:51:51 +0200
|
||||
Subject: ntdll: Wait until builtin dlls are unloaded before releasing the
|
||||
virtual view.
|
||||
|
||||
---
|
||||
dlls/ntdll/loader.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 18ae29c..f0fb1f2 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -2641,8 +2641,8 @@ static void free_modref( WINE_MODREF *wm )
|
||||
|
||||
free_tls_slot( &wm->ldr );
|
||||
RtlReleaseActivationContext( wm->ldr.ActivationContext );
|
||||
- NtUnmapViewOfSection( NtCurrentProcess(), wm->ldr.BaseAddress );
|
||||
if (wm->ldr.Flags & LDR_WINE_INTERNAL) wine_dll_unload( wm->ldr.SectionHandle );
|
||||
+ NtUnmapViewOfSection( NtCurrentProcess(), wm->ldr.BaseAddress );
|
||||
if (cached_modref == wm) cached_modref = NULL;
|
||||
RtlFreeUnicodeString( &wm->ldr.FullDllName );
|
||||
RtlFreeHeap( GetProcessHeap(), 0, wm->deps );
|
||||
--
|
||||
2.1.1
|
||||
|
@ -1,94 +0,0 @@
|
||||
From 7e25c6c4537604eab67b3b62a97a23a3057b59c0 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 1 Oct 2014 17:35:22 +0200
|
||||
Subject: kernel32/tests: Add tests for K32GetModuleInformation.
|
||||
|
||||
Test to confirm AFs analysis from bug 33034.
|
||||
---
|
||||
dlls/kernel32/tests/module.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 44 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/module.c b/dlls/kernel32/tests/module.c
|
||||
index 0d140a4..fb0130d 100644
|
||||
--- a/dlls/kernel32/tests/module.c
|
||||
+++ b/dlls/kernel32/tests/module.c
|
||||
@@ -20,12 +20,14 @@
|
||||
|
||||
#include "wine/test.h"
|
||||
#include <windows.h>
|
||||
+#include <psapi.h>
|
||||
|
||||
static DWORD (WINAPI *pGetDllDirectoryA)(DWORD,LPSTR);
|
||||
static DWORD (WINAPI *pGetDllDirectoryW)(DWORD,LPWSTR);
|
||||
static BOOL (WINAPI *pSetDllDirectoryA)(LPCSTR);
|
||||
static BOOL (WINAPI *pGetModuleHandleExA)(DWORD,LPCSTR,HMODULE*);
|
||||
static BOOL (WINAPI *pGetModuleHandleExW)(DWORD,LPCWSTR,HMODULE*);
|
||||
+static BOOL (WINAPI *pK32GetModuleInformation)(HANDLE,HMODULE,MODULEINFO*,DWORD);
|
||||
|
||||
static BOOL is_unicode_enabled = TRUE;
|
||||
|
||||
@@ -514,7 +516,20 @@ static void init_pointers(void)
|
||||
MAKEFUNC(SetDllDirectoryA);
|
||||
MAKEFUNC(GetModuleHandleExA);
|
||||
MAKEFUNC(GetModuleHandleExW);
|
||||
+ MAKEFUNC(K32GetModuleInformation);
|
||||
#undef MAKEFUNC
|
||||
+
|
||||
+ /* not all Windows versions export this in kernel32 */
|
||||
+ if (!pK32GetModuleInformation)
|
||||
+ {
|
||||
+ HMODULE hPsapi = LoadLibraryA("psapi.dll");
|
||||
+ if (hPsapi)
|
||||
+ {
|
||||
+ pK32GetModuleInformation = (void *)GetProcAddress(hPsapi, "GetModuleInformation");
|
||||
+ if (!pK32GetModuleInformation) FreeLibrary(hPsapi);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
}
|
||||
|
||||
static void testGetModuleHandleEx(void)
|
||||
@@ -696,6 +711,34 @@ static void testGetModuleHandleEx(void)
|
||||
FreeLibrary( mod_kernel32 );
|
||||
}
|
||||
|
||||
+static void testK32GetModuleInformation(void)
|
||||
+{
|
||||
+ MODULEINFO info;
|
||||
+ HMODULE mod;
|
||||
+ BOOL ret;
|
||||
+
|
||||
+ if (!pK32GetModuleInformation)
|
||||
+ {
|
||||
+ win_skip("K32GetModuleInformation not available\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ mod = GetModuleHandleA(NULL);
|
||||
+ memset(&info, 0xAA, sizeof(info));
|
||||
+ ret = pK32GetModuleInformation(GetCurrentProcess(), mod, &info, sizeof(info));
|
||||
+ ok(ret, "K32GetModuleInformation failed for main module\n");
|
||||
+ ok(info.lpBaseOfDll == mod, "Wrong info.lpBaseOfDll = %p, expected %p\n", info.lpBaseOfDll, mod);
|
||||
+ todo_wine
|
||||
+ ok(info.EntryPoint != NULL, "Expected nonzero entrypoint\n");
|
||||
+
|
||||
+ mod = GetModuleHandleA("kernel32.dll");
|
||||
+ memset(&info, 0xAA, sizeof(info));
|
||||
+ ret = pK32GetModuleInformation(GetCurrentProcess(), mod, &info, sizeof(info));
|
||||
+ ok(ret, "K32GetModuleInformation failed for kernel32 module\n");
|
||||
+ ok(info.lpBaseOfDll == mod, "Wrong info.lpBaseOfDll = %p, expected %p\n", info.lpBaseOfDll, mod);
|
||||
+ ok(info.EntryPoint != NULL, "Expected nonzero entrypoint\n");
|
||||
+}
|
||||
+
|
||||
START_TEST(module)
|
||||
{
|
||||
WCHAR filenameW[MAX_PATH];
|
||||
@@ -724,4 +767,5 @@ START_TEST(module)
|
||||
testGetProcAddress_Wrong();
|
||||
testLoadLibraryEx();
|
||||
testGetModuleHandleEx();
|
||||
+ testK32GetModuleInformation();
|
||||
}
|
||||
--
|
||||
2.1.1
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 0819075c75d740657873e01d35e8673070c49442 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 1 Oct 2014 17:35:28 +0200
|
||||
Subject: ntdll: Set ldr.EntryPoint for main executable. (resend)
|
||||
|
||||
Fixes: https://bugs.winehq.org/show_bug.cgi?id=33034
|
||||
No code change (besides the removed todo_wine).
|
||||
---
|
||||
dlls/kernel32/tests/module.c | 1 -
|
||||
dlls/ntdll/loader.c | 7 ++++---
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/module.c b/dlls/kernel32/tests/module.c
|
||||
index fb0130d..56b6494 100644
|
||||
--- a/dlls/kernel32/tests/module.c
|
||||
+++ b/dlls/kernel32/tests/module.c
|
||||
@@ -728,7 +728,6 @@ static void testK32GetModuleInformation(void)
|
||||
ret = pK32GetModuleInformation(GetCurrentProcess(), mod, &info, sizeof(info));
|
||||
ok(ret, "K32GetModuleInformation failed for main module\n");
|
||||
ok(info.lpBaseOfDll == mod, "Wrong info.lpBaseOfDll = %p, expected %p\n", info.lpBaseOfDll, mod);
|
||||
- todo_wine
|
||||
ok(info.EntryPoint != NULL, "Expected nonzero entrypoint\n");
|
||||
|
||||
mod = GetModuleHandleA("kernel32.dll");
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 18ae29c..3c2fc56 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -934,9 +934,10 @@ static WINE_MODREF *alloc_module( HMODULE hModule, LPCWSTR filename )
|
||||
else p = wm->ldr.FullDllName.Buffer;
|
||||
RtlInitUnicodeString( &wm->ldr.BaseDllName, p );
|
||||
|
||||
- if ((nt->FileHeader.Characteristics & IMAGE_FILE_DLL) && !is_dll_native_subsystem( hModule, nt, p ))
|
||||
+ if (!(nt->FileHeader.Characteristics & IMAGE_FILE_DLL) || !is_dll_native_subsystem( hModule, nt, p ))
|
||||
{
|
||||
- wm->ldr.Flags |= LDR_IMAGE_IS_DLL;
|
||||
+ if (nt->FileHeader.Characteristics & IMAGE_FILE_DLL)
|
||||
+ wm->ldr.Flags |= LDR_IMAGE_IS_DLL;
|
||||
if (nt->OptionalHeader.AddressOfEntryPoint)
|
||||
wm->ldr.EntryPoint = (char *)hModule + nt->OptionalHeader.AddressOfEntryPoint;
|
||||
}
|
||||
@@ -1062,7 +1063,7 @@ static NTSTATUS MODULE_InitDLL( WINE_MODREF *wm, UINT reason, LPVOID lpReserved
|
||||
|
||||
if (wm->ldr.Flags & LDR_DONT_RESOLVE_REFS) return STATUS_SUCCESS;
|
||||
if (wm->ldr.TlsIndex != -1) call_tls_callbacks( wm->ldr.BaseAddress, reason );
|
||||
- if (!entry) return STATUS_SUCCESS;
|
||||
+ if (!entry || !(wm->ldr.Flags & LDR_IMAGE_IS_DLL)) return STATUS_SUCCESS;
|
||||
|
||||
if (TRACE_ON(relay))
|
||||
{
|
||||
--
|
||||
2.1.1
|
||||
|
@ -1,4 +0,0 @@
|
||||
Author: Sebastian Lackner
|
||||
Subject: Set ldr.EntryPoint for main executable.
|
||||
Revision: 1
|
||||
Fixes: [33034] Set ldr.EntryPoint for main executable
|
Loading…
x
Reference in New Issue
Block a user