Jacek Caban : atl: Share atl_ax.c with atl100.
Alexandre Julliard
julliard at winehq.org
Thu Feb 13 13:26:11 CST 2014
Module: wine
Branch: master
Commit: 383cacea8fa9ce2e0408292af4a6c917ac700465
URL: http://source.winehq.org/git/wine.git/?a=commit;h=383cacea8fa9ce2e0408292af4a6c917ac700465
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Feb 13 19:02:48 2014 +0100
atl: Share atl_ax.c with atl100.
---
dlls/atl/Makefile.in | 5 ++++-
dlls/atl/atl.spec | 18 +++++++++---------
dlls/atl/atl_main.c | 48 ------------------------------------------------
dlls/atl100/atl_ax.c | 17 +++++++++++------
4 files changed, 24 insertions(+), 64 deletions(-)
diff --git a/dlls/atl/Makefile.in b/dlls/atl/Makefile.in
index 8cc63bb..3fc9591 100644
--- a/dlls/atl/Makefile.in
+++ b/dlls/atl/Makefile.in
@@ -2,7 +2,10 @@ MODULE = atl.dll
IMPORTLIB = atl
IMPORTS = uuid atl80 atl100 oleaut32 ole32 user32
EXTRADEFS = -D_ATL_VER=_ATL_VER_30
+PARENTSRC = ../atl100
-C_SRCS = atl_main.c
+C_SRCS = \
+ atl_ax.c \
+ atl_main.c
IDL_SRCS = atl_classes.idl
diff --git a/dlls/atl/atl.spec b/dlls/atl/atl.spec
index 4737580..2dca559 100644
--- a/dlls/atl/atl.spec
+++ b/dlls/atl/atl.spec
@@ -26,20 +26,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 AtlModuleAddCreateWndData(ptr ptr ptr)
44 stdcall AtlModuleExtractCreateWndData(ptr)
45 stdcall AtlModuleRegisterWndClassInfoW(ptr ptr ptr)
46 stdcall AtlModuleRegisterWndClassInfoA(ptr ptr ptr)
-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
diff --git a/dlls/atl/atl_main.c b/dlls/atl/atl_main.c
index 509d4bb..6288ff8 100644
--- a/dlls/atl/atl_main.c
+++ b/dlls/atl/atl_main.c
@@ -593,51 +593,3 @@ DWORD WINAPI AtlGetVersion(void *pReserved)
TRACE("version %04x (%p)\n", _ATL_VER, pReserved);
return _ATL_VER;
}
-
-/**********************************************************************
- * AtlAxWin class window procedure
- */
-static LRESULT CALLBACK AtlAxWin_wndproc( HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam )
-{
- if ( wMsg == 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, wMsg, wParam, lParam );
-}
-
-BOOL WINAPI AtlAxWinInit(void)
-{
- WNDCLASSEXW wcex;
- const WCHAR AtlAxWin[] = {'A','t','l','A','x','W','i','n',0};
-
- FIXME("version %04x semi-stub\n", _ATL_VER);
-
- if ( FAILED( OleInitialize(NULL) ) )
- return FALSE;
-
- wcex.cbSize = sizeof(wcex);
- wcex.style = CS_GLOBALCLASS;
- 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 = AtlAxWin;
- if ( !RegisterClassExW( &wcex ) )
- return FALSE;
-
- return TRUE;
-}
diff --git a/dlls/atl100/atl_ax.c b/dlls/atl100/atl_ax.c
index be52917..0a16010 100644
--- a/dlls/atl100/atl_ax.c
+++ b/dlls/atl100/atl_ax.c
@@ -87,7 +87,9 @@ BOOL WINAPI AtlAxWinInit(void)
{
WNDCLASSEXW wcex;
-#if _ATL_VER == _ATL_VER_80
+#if _ATL_VER <= _ATL_VER_30
+#define ATL_NAME_SUFFIX 0
+#elif _ATL_VER == _ATL_VER_80
#define ATL_NAME_SUFFIX '8','0',0
#elif _ATL_VER == _ATL_VER_90
#define ATL_NAME_SUFFIX '9','0',0
@@ -100,7 +102,6 @@ BOOL WINAPI AtlAxWinInit(void)
#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);
@@ -108,7 +109,7 @@ BOOL WINAPI AtlAxWinInit(void)
return FALSE;
wcex.cbSize = sizeof(wcex);
- wcex.style = CS_GLOBALCLASS | CS_DBLCLKS;
+ wcex.style = CS_GLOBALCLASS | (_ATL_VER > _ATL_VER_30 ? CS_DBLCLKS : 0);
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = GetModuleHandleW( NULL );
@@ -123,9 +124,13 @@ BOOL WINAPI AtlAxWinInit(void)
if ( !RegisterClassExW( &wcex ) )
return FALSE;
- wcex.lpszClassName = AtlAxWinLicW;
- if ( !RegisterClassExW( &wcex ) )
- return FALSE;
+ if(_ATL_VER > _ATL_VER_30) {
+ const WCHAR AtlAxWinLicW[] = {'A','t','l','A','x','W','i','n','L','i','c',ATL_NAME_SUFFIX};
+
+ wcex.lpszClassName = AtlAxWinLicW;
+ if ( !RegisterClassExW( &wcex ) )
+ return FALSE;
+ }
return TRUE;
}
More information about the wine-cvs
mailing list