Module: wine
Branch: master
Commit: df715e5a9a1003e6fc4e0fd21cb671a22e46865a
URL:
https://source.winehq.org/git/wine.git/?a=commit;h=df715e5a9a1003e6fc4e0fd2…
Author: Nikolay Sivov <nsivov(a)codeweavers.com>
Date: Wed Jan 31 13:15:41 2018 +0300
user32: Make it possible to create windows for redirected classes.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/user32/class.c | 2 +-
dlls/user32/user_private.h | 2 ++
dlls/user32/win.c | 7 +++++--
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/user32/class.c b/dlls/user32/class.c
index 8aa568d..a70bcb1 100644
--- a/dlls/user32/class.c
+++ b/dlls/user32/class.c
@@ -325,7 +325,7 @@ static void CLASS_FreeClass( CLASS *classPtr )
USER_Unlock();
}
-static const WCHAR *CLASS_GetVersionedName( const WCHAR *name )
+const WCHAR *CLASS_GetVersionedName( const WCHAR *name )
{
ACTCTX_SECTION_KEYED_DATA data;
struct wndclass_redirect_data
diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h
index 0ffdcdd..bf0e3c7 100644
--- a/dlls/user32/user_private.h
+++ b/dlls/user32/user_private.h
@@ -269,6 +269,8 @@ extern INT_PTR WINPROC_CallDlgProcW( DLGPROC func, HWND hwnd, UINT
msg, WPARAM w
extern BOOL WINPROC_call_window( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam,
LRESULT *result, BOOL unicode, enum wm_char_mapping
mapping ) DECLSPEC_HIDDEN;
+extern const WCHAR *CLASS_GetVersionedName(const WCHAR *classname) DECLSPEC_HIDDEN;
+
/* message spy definitions */
#define SPY_DISPATCHMESSAGE 0x0100
diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index 382ca10..c3360f9 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -1333,13 +1333,16 @@ HWND WIN_CreateWindowEx( CREATESTRUCTW *cs, LPCWSTR className,
HINSTANCE module,
RECT rect;
WND *wndPtr;
HWND hwnd, parent, owner, top_child = 0;
+ const WCHAR *p = className;
MDICREATESTRUCTW mdi_cs;
CBT_CREATEWNDW cbtc;
CREATESTRUCTW cbcs;
- TRACE("%s %s ex=%08x style=%08x %d,%d %dx%d parent=%p menu=%p inst=%p
params=%p\n",
+ className = CLASS_GetVersionedName(className);
+
+ TRACE("%s %s%s%s ex=%08x style=%08x %d,%d %dx%d parent=%p menu=%p inst=%p
params=%p\n",
unicode ? debugstr_w(cs->lpszName) : debugstr_a((LPCSTR)cs->lpszName),
- debugstr_w(className),
+ debugstr_w(p), p != className ? "->" : "", p !=
className ? debugstr_w(className) : "",
cs->dwExStyle, cs->style, cs->x, cs->y, cs->cx, cs->cy,
cs->hwndParent, cs->hMenu, cs->hInstance, cs->lpCreateParams );
if(TRACE_ON(win)) dump_window_styles( cs->style, cs->dwExStyle );