Jacek Caban : winemac: Implement DesktopWindowProc driver entry point.
Alexandre Julliard
julliard at winehq.org
Fri May 20 15:26:49 CDT 2022
Module: wine
Branch: master
Commit: b34018db20bcd55cb1266d4aa3c7e5257ca96a78
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b34018db20bcd55cb1266d4aa3c7e5257ca96a78
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri May 20 14:09:13 2022 +0200
winemac: Implement DesktopWindowProc driver entry point.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winemac.drv/gdi.c | 1 +
dlls/winemac.drv/macdrv.h | 1 +
dlls/winemac.drv/window.c | 9 ++-------
3 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/dlls/winemac.drv/gdi.c b/dlls/winemac.drv/gdi.c
index 673dca40270..151bb144da1 100644
--- a/dlls/winemac.drv/gdi.c
+++ b/dlls/winemac.drv/gdi.c
@@ -268,6 +268,7 @@ static const struct user_driver_funcs macdrv_funcs =
.pClipCursor = macdrv_ClipCursor,
.pCreateDesktopWindow = macdrv_CreateDesktopWindow,
.pCreateWindow = macdrv_CreateWindow,
+ .pDesktopWindowProc = macdrv_DesktopWindowProc,
.pDestroyCursorIcon = macdrv_DestroyCursorIcon,
.pDestroyWindow = macdrv_DestroyWindow,
.pEnumDisplaySettingsEx = macdrv_EnumDisplaySettingsEx,
diff --git a/dlls/winemac.drv/macdrv.h b/dlls/winemac.drv/macdrv.h
index 71a8d9f5bd2..79ae074dac6 100644
--- a/dlls/winemac.drv/macdrv.h
+++ b/dlls/winemac.drv/macdrv.h
@@ -137,6 +137,7 @@ extern BOOL macdrv_SetDeviceGammaRamp(PHYSDEV dev, LPVOID ramp) DECLSPEC_HIDDEN;
extern BOOL macdrv_ClipCursor(LPCRECT clip) DECLSPEC_HIDDEN;
extern BOOL macdrv_CreateDesktopWindow(HWND hwnd) DECLSPEC_HIDDEN;
extern BOOL macdrv_CreateWindow(HWND hwnd) DECLSPEC_HIDDEN;
+extern LRESULT macdrv_DesktopWindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) DECLSPEC_HIDDEN;
extern void macdrv_DestroyWindow(HWND hwnd) DECLSPEC_HIDDEN;
extern void macdrv_SetFocus(HWND hwnd) DECLSPEC_HIDDEN;
extern void macdrv_SetLayeredWindowAttributes(HWND hwnd, COLORREF key, BYTE alpha,
diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c
index 147c979ebde..d5bcce654e8 100644
--- a/dlls/winemac.drv/window.c
+++ b/dlls/winemac.drv/window.c
@@ -1557,11 +1557,9 @@ BOOL macdrv_CreateDesktopWindow(HWND hwnd)
}
-static WNDPROC desktop_orig_wndproc;
-
#define WM_WINE_NOTIFY_ACTIVITY WM_USER
-static LRESULT CALLBACK desktop_wndproc_wrapper( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
+LRESULT macdrv_DesktopWindowProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
{
switch (msg)
{
@@ -1580,7 +1578,7 @@ static LRESULT CALLBACK desktop_wndproc_wrapper( HWND hwnd, UINT msg, WPARAM wp,
break;
}
}
- return desktop_orig_wndproc( hwnd, msg, wp, lp );
+ return NtUserMessageCall(hwnd, msg, wp, lp, 0, NtUserDefWindowProc, FALSE);
}
/**********************************************************************
@@ -1590,9 +1588,6 @@ BOOL macdrv_CreateWindow(HWND hwnd)
{
if (hwnd == GetDesktopWindow())
{
- desktop_orig_wndproc = (WNDPROC)SetWindowLongPtrW( GetDesktopWindow(),
- GWLP_WNDPROC, (LONG_PTR)desktop_wndproc_wrapper );
-
macdrv_init_clipboard();
}
return TRUE;
More information about the wine-cvs
mailing list