Jacek Caban : atl90: Share atl_ax.c with atl100.
Alexandre Julliard
julliard at winehq.org
Mon Jan 27 13:32:52 CST 2014
Module: wine
Branch: master
Commit: 1a130126053105d9022f7a83fc95587bdb415ff2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1a130126053105d9022f7a83fc95587bdb415ff2
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Jan 20 14:46:56 2014 +0100
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 50ebe3b..0f0f3c6 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 f52b7d5..677aaae 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 06e8066..9dd0b70 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 045969e..35facf8 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
More information about the wine-cvs
mailing list