Module: wine Branch: master Commit: a4d0d6348958cf3563e3e8604bfcaa825f9d14b9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a4d0d6348958cf3563e3e8604b... Author: Alexandre Julliard <julliard(a)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;