Alexandre Julliard : atl: Only return a window procedure in AtlModuleRegisterWndClassInfoA/ W when subclassing.
Alexandre Julliard
julliard at winehq.org
Wed May 4 13:47:39 CDT 2011
Module: wine
Branch: master
Commit: a4d0d6348958cf3563e3e8604bfcaa825f9d14b9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a4d0d6348958cf3563e3e8604bfcaa825f9d14b9
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue May 3 20:52:24 2011 +0200
atl: Only return a window procedure in AtlModuleRegisterWndClassInfoA/W when subclassing.
---
dlls/atl/atl_main.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/atl/atl_main.c b/dlls/atl/atl_main.c
index 8db4311..78ef7ce 100644
--- a/dlls/atl/atl_main.c
+++ b/dlls/atl/atl_main.c
@@ -464,6 +464,9 @@ ATOM WINAPI AtlModuleRegisterWndClassInfoA(_ATL_MODULEA *pm, _ATL_WNDCLASSINFOA
TRACE("wci->m_wc.lpszClassName = %s\n", wci->m_wc.lpszClassName);
+ if (wci->m_lpszOrigName)
+ FIXME( "subclassing %s not implemented\n", debugstr_a(wci->m_lpszOrigName));
+
if (!wci->m_wc.lpszClassName)
{
snprintf(wci->m_szAutoName, sizeof(wci->m_szAutoName), "ATL%08lx", (UINT_PTR)wci);
@@ -482,7 +485,8 @@ ATOM WINAPI AtlModuleRegisterWndClassInfoA(_ATL_MODULEA *pm, _ATL_WNDCLASSINFOA
wci->pWndProc = wci->m_wc.lpfnWndProc;
wci->m_atom = atom;
}
- *pProc = wci->pWndProc;
+
+ if (wci->m_lpszOrigName) *pProc = wci->pWndProc;
TRACE("returning 0x%04x\n", atom);
return atom;
@@ -519,6 +523,9 @@ ATOM WINAPI AtlModuleRegisterWndClassInfoW(_ATL_MODULEW *pm, _ATL_WNDCLASSINFOW
TRACE("wci->m_wc.lpszClassName = %s\n", debugstr_w(wci->m_wc.lpszClassName));
+ if (wci->m_lpszOrigName)
+ FIXME( "subclassing %s not implemented\n", debugstr_w(wci->m_lpszOrigName));
+
if (!wci->m_wc.lpszClassName)
{
static const WCHAR szFormat[] = {'A','T','L','%','0','8','l','x',0};
@@ -538,7 +545,8 @@ ATOM WINAPI AtlModuleRegisterWndClassInfoW(_ATL_MODULEW *pm, _ATL_WNDCLASSINFOW
wci->pWndProc = wci->m_wc.lpfnWndProc;
wci->m_atom = atom;
}
- *pProc = wci->pWndProc;
+
+ if (wci->m_lpszOrigName) *pProc = wci->pWndProc;
TRACE("returning 0x%04x\n", atom);
return atom;
More information about the wine-cvs
mailing list