From 1a130126053105d9022f7a83fc95587bdb415ff2 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Mon, 20 Jan 2014 14:46:56 +0100 Subject: [PATCH] atl90: Share atl_ax.c with atl100. --- dlls/atl100/atl_ax.c | 17 ++++++++++---- dlls/atl90/Makefile.in | 7 ++++-- dlls/atl90/atl90.c | 53 ------------------------------------------ dlls/atl90/atl90.spec | 18 +++++++------- 4 files changed, 27 insertions(+), 68 deletions(-) diff --git a/dlls/atl100/atl_ax.c b/dlls/atl100/atl_ax.c index 50ebe3b92f7..0f0f3c64e19 100644 --- a/dlls/atl100/atl_ax.c +++ b/dlls/atl100/atl_ax.c @@ -86,8 +86,17 @@ static LRESULT CALLBACK AtlAxWin_wndproc( HWND hWnd, UINT wMsg, WPARAM wParam, L BOOL WINAPI AtlAxWinInit(void) { WNDCLASSEXW wcex; - const WCHAR AtlAxWin100[] = {'A','t','l','A','x','W','i','n','1','0','0',0}; - const WCHAR AtlAxWinLic100[] = {'A','t','l','A','x','W','i','n','L','i','c','1','0','0',0}; + +#if _ATL_VER == _ATL_VER_90 +#define ATL_NAME_SUFFIX '9','0',0 +#elif _ATL_VER == _ATL_VER_100 +#define ATL_NAME_SUFFIX '1','0','0',0 +#else +#error Unsupported version +#endif + + const WCHAR AtlAxWinW[] = {'A','t','l','A','x','W','i','n',ATL_NAME_SUFFIX}; + const WCHAR AtlAxWinLicW[] = {'A','t','l','A','x','W','i','n','L','i','c',ATL_NAME_SUFFIX}; FIXME("version %04x semi-stub\n", _ATL_VER); @@ -106,11 +115,11 @@ BOOL WINAPI AtlAxWinInit(void) wcex.hIconSm = 0; wcex.lpfnWndProc = AtlAxWin_wndproc; - wcex.lpszClassName = AtlAxWin100; + wcex.lpszClassName = AtlAxWinW; if ( !RegisterClassExW( &wcex ) ) return FALSE; - wcex.lpszClassName = AtlAxWinLic100; + wcex.lpszClassName = AtlAxWinLicW; if ( !RegisterClassExW( &wcex ) ) return FALSE; diff --git a/dlls/atl90/Makefile.in b/dlls/atl90/Makefile.in index f52b7d5df9a..677aaae439d 100644 --- a/dlls/atl90/Makefile.in +++ b/dlls/atl90/Makefile.in @@ -1,7 +1,10 @@ MODULE = atl90.dll -IMPORTS = atl100 oleaut32 user32 ole32 +IMPORTS = atl100 oleaut32 user32 ole32 uuid EXTRADEFS = -D_ATL_VER=_ATL_VER_90 +PARENTSRC = ../atl100 -C_SRCS = atl90.c +C_SRCS = \ + atl90.c \ + atl_ax.c RC_SRCS = atl90.rc diff --git a/dlls/atl90/atl90.c b/dlls/atl90/atl90.c index 06e8066c87b..9dd0b70cec9 100644 --- a/dlls/atl90/atl90.c +++ b/dlls/atl90/atl90.c @@ -40,56 +40,3 @@ DWORD WINAPI AtlGetVersion(void *reserved) TRACE("version %04x (%p)\n", _ATL_VER, reserved); return _ATL_VER; } - -/********************************************************************** - * AtlAxWin class window procedure - */ -static LRESULT CALLBACK AtlAxWin_wndproc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ) -{ - if ( msg == WM_CREATE ) - { - DWORD len = GetWindowTextLengthW( hwnd ) + 1; - WCHAR *ptr = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) ); - if (!ptr) - return 1; - GetWindowTextW( hwnd, ptr, len ); - AtlAxCreateControlEx( ptr, hwnd, NULL, NULL, NULL, NULL, NULL ); - HeapFree( GetProcessHeap(), 0, ptr ); - return 0; - } - return DefWindowProcW( hwnd, msg, wparam, lparam ); -} - -BOOL WINAPI AtlAxWinInit(void) -{ - WNDCLASSEXW wcex; - const WCHAR AtlAxWin90[] = {'A','t','l','A','x','W','i','n','9','0',0}; - const WCHAR AtlAxWinLic90[] = {'A','t','l','A','x','W','i','n','L','i','c','9','0',0}; - - FIXME("version %04x semi-stub\n", _ATL_VER); - - if ( FAILED( OleInitialize(NULL) ) ) - return FALSE; - - wcex.cbSize = sizeof(wcex); - wcex.style = CS_GLOBALCLASS | CS_DBLCLKS; - wcex.cbClsExtra = 0; - wcex.cbWndExtra = 0; - wcex.hInstance = GetModuleHandleW( NULL ); - wcex.hIcon = NULL; - wcex.hCursor = NULL; - wcex.hbrBackground = NULL; - wcex.lpszMenuName = NULL; - wcex.hIconSm = 0; - - wcex.lpfnWndProc = AtlAxWin_wndproc; - wcex.lpszClassName = AtlAxWin90; - if ( !RegisterClassExW( &wcex ) ) - return FALSE; - - wcex.lpszClassName = AtlAxWinLic90; - if ( !RegisterClassExW( &wcex ) ) - return FALSE; - - return TRUE; -} diff --git a/dlls/atl90/atl90.spec b/dlls/atl90/atl90.spec index 045969e4256..35facf89cfa 100644 --- a/dlls/atl90/atl90.spec +++ b/dlls/atl90/atl90.spec @@ -18,20 +18,20 @@ 31 stdcall AtlComQIPtrAssign(ptr ptr ptr) atl100.AtlComQIPtrAssign 32 stdcall AtlInternalQueryInterface(ptr ptr ptr ptr) atl100.AtlInternalQueryInterface 34 stdcall AtlGetVersion(ptr) -35 stdcall AtlAxDialogBoxW(long wstr long ptr long) atl100.AtlAxDialogBoxW -36 stdcall AtlAxDialogBoxA(long str long ptr long) atl100.AtlAxDialogBoxA -37 stdcall AtlAxCreateDialogW(long wstr long ptr long) atl100.AtlAxCreateDialogW -38 stdcall AtlAxCreateDialogA(long str long ptr long) atl100.AtlAxCreateDialogA -39 stdcall AtlAxCreateControl(ptr ptr ptr ptr) atl100.AtlAxCreateControl -40 stdcall AtlAxCreateControlEx(ptr ptr ptr ptr ptr ptr ptr) atl100.AtlAxCreateControlEx -41 stdcall AtlAxAttachControl(ptr ptr ptr) atl100.AtlAxAttachControl +35 stdcall AtlAxDialogBoxW(long wstr long ptr long) +36 stdcall AtlAxDialogBoxA(long str long ptr long) +37 stdcall AtlAxCreateDialogW(long wstr long ptr long) +38 stdcall AtlAxCreateDialogA(long str long ptr long) +39 stdcall AtlAxCreateControl(ptr ptr ptr ptr) +40 stdcall AtlAxCreateControlEx(ptr ptr ptr ptr ptr ptr ptr) +41 stdcall AtlAxAttachControl(ptr ptr ptr) 42 stdcall AtlAxWinInit() 43 stdcall AtlWinModuleAddCreateWndData(ptr ptr ptr) atl100.AtlWinModuleAddCreateWndData 44 stdcall AtlWinModuleExtractCreateWndData(ptr) atl100.AtlWinModuleExtractCreateWndData 45 stub AtlWinModuleRegisterWndClassInfoW 46 stub AtlWinModuleRegisterWndClassInfoA -47 stdcall AtlAxGetControl(long ptr) atl100.AtlAxGetControl -48 stdcall AtlAxGetHost(long ptr) atl100.AtlAxGetHost +47 stdcall AtlAxGetControl(long ptr) +48 stdcall AtlAxGetHost(long ptr) 49 stdcall AtlRegisterClassCategoriesHelper(ptr ptr long) atl100.AtlRegisterClassCategoriesHelper 50 stdcall AtlIPersistStreamInit_Load(ptr ptr ptr ptr) atl100.AtlIPersistStreamInit_Load 51 stdcall AtlIPersistStreamInit_Save(ptr long ptr ptr ptr) atl100.AtlIPersistStreamInit_Save