[PATCH] explorer: Replace the desktop window procedure instead of wrapping it.
Fabian Maurer
dark.shadow4 at web.de
Sun Aug 26 15:01:53 CDT 2018
This reverts commit fc14753dc0188a52a05243d5d82c4062b93daaff.
According to Alexandre, we should be passing all messages to DefWindowProc.
Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
programs/explorer/desktop.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c
index ff58204530..49d3ee6928 100644
--- a/programs/explorer/desktop.c
+++ b/programs/explorer/desktop.c
@@ -599,8 +599,6 @@ static BOOL start_screensaver( void )
return FALSE;
}
-static WNDPROC desktop_orig_wndproc;
-
/* window procedure for the desktop window */
static LRESULT WINAPI desktop_wnd_proc( HWND hwnd, UINT message, WPARAM wp, LPARAM lp )
{
@@ -662,9 +660,10 @@ static LRESULT WINAPI desktop_wnd_proc( HWND hwnd, UINT message, WPARAM wp, LPAR
EndPaint( hwnd, &ps );
}
return 0;
- }
- return desktop_orig_wndproc( hwnd, message, wp, lp );
+ default:
+ return DefWindowProcW( hwnd, message, wp, lp );
+ }
}
/* create the desktop and the associated driver window, and make it the current desktop */
@@ -979,8 +978,7 @@ void manage_desktop( WCHAR *arg )
CreateWindowExW( 0, messageW, NULL, WS_POPUP | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
0, 0, 100, 100, 0, 0, 0, NULL );
- desktop_orig_wndproc = (WNDPROC)SetWindowLongPtrW( hwnd, GWLP_WNDPROC,
- (LONG_PTR)desktop_wnd_proc );
+ SetWindowLongPtrW( hwnd, GWLP_WNDPROC, (LONG_PTR)desktop_wnd_proc );
using_root = !desktop || !create_desktop( graphics_driver, name, width, height );
SendMessageW( hwnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIconW( 0, MAKEINTRESOURCEW(OIC_WINLOGO)));
if (name) set_desktop_window_title( hwnd, name );
--
2.18.0
More information about the wine-devel
mailing list