Commit b34018db authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

winemac: Implement DesktopWindowProc driver entry point.

parent fe52b067
...@@ -268,6 +268,7 @@ static const struct user_driver_funcs macdrv_funcs = ...@@ -268,6 +268,7 @@ static const struct user_driver_funcs macdrv_funcs =
.pClipCursor = macdrv_ClipCursor, .pClipCursor = macdrv_ClipCursor,
.pCreateDesktopWindow = macdrv_CreateDesktopWindow, .pCreateDesktopWindow = macdrv_CreateDesktopWindow,
.pCreateWindow = macdrv_CreateWindow, .pCreateWindow = macdrv_CreateWindow,
.pDesktopWindowProc = macdrv_DesktopWindowProc,
.pDestroyCursorIcon = macdrv_DestroyCursorIcon, .pDestroyCursorIcon = macdrv_DestroyCursorIcon,
.pDestroyWindow = macdrv_DestroyWindow, .pDestroyWindow = macdrv_DestroyWindow,
.pEnumDisplaySettingsEx = macdrv_EnumDisplaySettingsEx, .pEnumDisplaySettingsEx = macdrv_EnumDisplaySettingsEx,
......
...@@ -137,6 +137,7 @@ extern BOOL macdrv_SetDeviceGammaRamp(PHYSDEV dev, LPVOID ramp) DECLSPEC_HIDDEN; ...@@ -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_ClipCursor(LPCRECT clip) DECLSPEC_HIDDEN;
extern BOOL macdrv_CreateDesktopWindow(HWND hwnd) DECLSPEC_HIDDEN; extern BOOL macdrv_CreateDesktopWindow(HWND hwnd) DECLSPEC_HIDDEN;
extern BOOL macdrv_CreateWindow(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_DestroyWindow(HWND hwnd) DECLSPEC_HIDDEN;
extern void macdrv_SetFocus(HWND hwnd) DECLSPEC_HIDDEN; extern void macdrv_SetFocus(HWND hwnd) DECLSPEC_HIDDEN;
extern void macdrv_SetLayeredWindowAttributes(HWND hwnd, COLORREF key, BYTE alpha, extern void macdrv_SetLayeredWindowAttributes(HWND hwnd, COLORREF key, BYTE alpha,
......
...@@ -1557,11 +1557,9 @@ BOOL macdrv_CreateDesktopWindow(HWND hwnd) ...@@ -1557,11 +1557,9 @@ BOOL macdrv_CreateDesktopWindow(HWND hwnd)
} }
static WNDPROC desktop_orig_wndproc;
#define WM_WINE_NOTIFY_ACTIVITY WM_USER #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) switch (msg)
{ {
...@@ -1580,7 +1578,7 @@ static LRESULT CALLBACK desktop_wndproc_wrapper( HWND hwnd, UINT msg, WPARAM wp, ...@@ -1580,7 +1578,7 @@ static LRESULT CALLBACK desktop_wndproc_wrapper( HWND hwnd, UINT msg, WPARAM wp,
break; 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) ...@@ -1590,9 +1588,6 @@ BOOL macdrv_CreateWindow(HWND hwnd)
{ {
if (hwnd == GetDesktopWindow()) if (hwnd == GetDesktopWindow())
{ {
desktop_orig_wndproc = (WNDPROC)SetWindowLongPtrW( GetDesktopWindow(),
GWLP_WNDPROC, (LONG_PTR)desktop_wndproc_wrapper );
macdrv_init_clipboard(); macdrv_init_clipboard();
} }
return TRUE; return TRUE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment