From: Zebediah Figura zfigura@codeweavers.com
Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- dlls/winemac.drv/window.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c index 48b44a6..886c604 100644 --- a/dlls/winemac.drv/window.c +++ b/dlls/winemac.drv/window.c @@ -1551,13 +1551,36 @@ BOOL CDECL 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 ) +{ + switch (msg) + { + case WM_WINE_NOTIFY_ACTIVITY: + { + static IOPMAssertionID assertion; + IOPMAssertionDeclareUserActivity(CFSTR("Wine user input"), kIOPMUserActiveLocal, &assertion); + break; + } + } + return desktop_orig_wndproc( hwnd, msg, wp, lp ); +} + /********************************************************************** * CreateWindow (MACDRV.@) */ BOOL CDECL 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; }