Module: wine Branch: master Commit: 129ba5ade016a470150ce11ed8f6383bb1103772 URL: http://source.winehq.org/git/wine.git/?a=commit;h=129ba5ade016a470150ce11ed8...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Apr 1 18:20:13 2009 +0200
shell32: Make shell.dll into a stand-alone 16-bit module.
---
.gitignore | 1 - configure | 9 ++++++++ configure.ac | 1 + dlls/Makefile.in | 4 --- dlls/shell.dll16/Makefile.in | 19 ++++++++++++++++++ dlls/{shell32 => shell.dll16}/shell.c | 10 +++++++- .../shell.spec => shell.dll16/shell.dll16.spec} | 0 .../version16.rc => shell.dll16/version.rc} | 0 dlls/shell32/Makefile.in | 12 ----------- dlls/shell32/shell32_main.h | 21 -------------------- dlls/shell32/shellreg.c | 1 - dlls/shell32/shlexec.c | 1 - 12 files changed, 37 insertions(+), 42 deletions(-)
diff --git a/.gitignore b/.gitignore index 8120c55..93ff5f2 100644 --- a/.gitignore +++ b/.gitignore @@ -84,7 +84,6 @@ dlls/rpcrt4/tests/server_c.c dlls/rpcrt4/tests/server_s.c dlls/setupx.dll16 dlls/shdocvw/shdocvw_v1.tlb -dlls/shell.dll16 dlls/stdole2.tlb/std_ole_v2.tlb dlls/stdole32.tlb/std_ole_v1.tlb dlls/system.drv16 diff --git a/configure b/configure index b45a122..5468a78 100755 --- a/configure +++ b/configure @@ -26853,6 +26853,14 @@ dlls/shdocvw/tests/Makefile: dlls/shdocvw/tests/Makefile.in dlls/Maketest.rules" ac_config_files="$ac_config_files dlls/shdocvw/tests/Makefile"
ALL_MAKEFILES="$ALL_MAKEFILES \ + dlls/shell.dll16/Makefile" +test "x$enable_win16" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \ + shell.dll16" +ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS +dlls/shell.dll16/Makefile: dlls/shell.dll16/Makefile.in dlls/Makedll.rules" +ac_config_files="$ac_config_files dlls/shell.dll16/Makefile" + +ALL_MAKEFILES="$ALL_MAKEFILES \ dlls/shell32/Makefile" test "x$enable_shell32" != xno && ALL_DLL_DIRS="$ALL_DLL_DIRS \ shell32" @@ -29204,6 +29212,7 @@ do "dlls/shdoclc/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shdoclc/Makefile" ;; "dlls/shdocvw/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shdocvw/Makefile" ;; "dlls/shdocvw/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shdocvw/tests/Makefile" ;; + "dlls/shell.dll16/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shell.dll16/Makefile" ;; "dlls/shell32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shell32/Makefile" ;; "dlls/shell32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shell32/tests/Makefile" ;; "dlls/shfolder/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/shfolder/Makefile" ;; diff --git a/configure.ac b/configure.ac index a243045..e3d4b63 100644 --- a/configure.ac +++ b/configure.ac @@ -2188,6 +2188,7 @@ WINE_CONFIG_MAKEFILE([dlls/sfc_os/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL WINE_CONFIG_MAKEFILE([dlls/shdoclc/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/shdocvw/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/shdocvw/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests]) +WINE_CONFIG_MAKEFILE([dlls/shell.dll16/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS],[enable_win16]) WINE_CONFIG_MAKEFILE([dlls/shell32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) WINE_CONFIG_MAKEFILE([dlls/shell32/tests/Makefile],[dlls/Maketest.rules],[dlls],[ALL_TEST_DIRS],[enable_tests]) WINE_CONFIG_MAKEFILE([dlls/shfolder/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS]) diff --git a/dlls/Makefile.in b/dlls/Makefile.in index badffb6..498cb65 100644 --- a/dlls/Makefile.in +++ b/dlls/Makefile.in @@ -25,7 +25,6 @@ WIN16_FILES = \ mmsystem.dll16 \ msvideo.dll16 \ setupx.dll16 \ - shell.dll16 \ system.drv16 \ toolhelp.dll16 \ user.exe16 \ @@ -58,9 +57,6 @@ msvideo.dll16: setupx.dll16: echo "setupapi.dll" >$@
-shell.dll16: - echo "shell32.dll" >$@ - ddeml.dll16 user.exe16: echo "user32.dll" >$@
diff --git a/dlls/shell.dll16/Makefile.in b/dlls/shell.dll16/Makefile.in new file mode 100644 index 0000000..07cf620 --- /dev/null +++ b/dlls/shell.dll16/Makefile.in @@ -0,0 +1,19 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = shell.dll16 +IMPORTS = shell32 user32 advapi32 kernel32 + +EXTRADLLFLAGS = -Wb,--subsystem,win16,--main-module,shell32.dll +EXTRARCFLAGS = -O res16 + +SPEC_SRCS = shell.dll16.spec + +C_SRCS = shell.c + +RC_SRCS = version.rc + +@MAKE_DLL_RULES@ + +@DEPENDENCIES@ # everything below this line is overwritten by make depend diff --git a/dlls/shell32/shell.c b/dlls/shell.dll16/shell.c similarity index 98% rename from dlls/shell32/shell.c rename to dlls/shell.dll16/shell.c index db49c29..9964b60 100644 --- a/dlls/shell32/shell.c +++ b/dlls/shell.dll16/shell.c @@ -42,7 +42,6 @@ #include "shlwapi.h"
#include "wine/winbase16.h" -#include "shell32_main.h"
#include "wine/debug.h"
@@ -52,6 +51,11 @@ extern HINSTANCE WINAPI WOWShellExecute(HWND hWnd, LPCSTR lpOperation,LPCSTR lpF LPCSTR lpParameters,LPCSTR lpDirectory, INT iShowCmd, void *callback);
+#define HICON_16(h32) (LOWORD(h32)) +#define HICON_32(h16) ((HICON)(ULONG_PTR)(h16)) +#define HINSTANCE_32(h16) ((HINSTANCE)(ULONG_PTR)(h16)) +#define HINSTANCE_16(h32) (LOWORD(h32)) + typedef struct { /* structure for dropped files */ WORD wSize; POINT16 ptMousePos; @@ -170,7 +174,9 @@ HINSTANCE16 WINAPI FindExecutable16( LPCSTR lpFile, LPCSTR lpDirectory, */ BOOL16 WINAPI AboutDlgProc16( HWND16 hWnd, UINT16 msg, WPARAM16 wParam, LPARAM lParam ) -{ return (BOOL16)AboutDlgProc( HWND_32(hWnd), msg, wParam, lParam ); +{ + FIXME( "stub\n" ); + return FALSE; }
diff --git a/dlls/shell32/shell.spec b/dlls/shell.dll16/shell.dll16.spec similarity index 100% rename from dlls/shell32/shell.spec rename to dlls/shell.dll16/shell.dll16.spec diff --git a/dlls/shell32/version16.rc b/dlls/shell.dll16/version.rc similarity index 100% rename from dlls/shell32/version16.rc rename to dlls/shell.dll16/version.rc diff --git a/dlls/shell32/Makefile.in b/dlls/shell32/Makefile.in index d416eec..6900d31 100644 --- a/dlls/shell32/Makefile.in +++ b/dlls/shell32/Makefile.in @@ -64,22 +64,10 @@ SVG_SRCS = \ mydocs.svg \ trash_file.svg
-C_SRCS16 = shell.c -RC_SRCS16 = version16.rc -SPEC_SRCS16 = shell.spec - EXTRA_OBJS = authors.o
@MAKE_DLL_RULES@
-# Special rules for 16-bit resource files - -version16.res: version16.rc - $(LDPATH) $(RC16) $(RC16FLAGS) -fo$@ $(SRCDIR)/version16.rc - -shell.spec.o: shell.spec version16.res - $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --res version16.res --export $(SRCDIR)/shell.spec - authors.c: $(TOPSRCDIR)/AUTHORS (LC_ALL=C; export LC_ALL; echo 'const char * const SHELL_Authors[] = {' && \ sed -e '1,2d' -e 's/(.*)/ "\1",/' $(TOPSRCDIR)/AUTHORS && \ diff --git a/dlls/shell32/shell32_main.h b/dlls/shell32/shell32_main.h index 973e526..eea2e18 100644 --- a/dlls/shell32/shell32_main.h +++ b/dlls/shell32/shell32_main.h @@ -35,7 +35,6 @@ #include "undocshell.h" #include "shlobj.h" #include "shellapi.h" -#include "wine/windef16.h" #include "wine/unicode.h"
/******************************************* @@ -153,20 +152,6 @@ void FreeChangeNotifications(void);
BOOL SHELL_ConfirmYesNoW(HWND hWnd, int nKindOfDialog, LPCWSTR szDir);
-/* 16-bit functions */ -void WINAPI DragAcceptFiles16(HWND16 hWnd, BOOL16 b); -UINT16 WINAPI DragQueryFile16(HDROP16 hDrop, WORD wFile, LPSTR lpszFile, WORD wLength); -void WINAPI DragFinish16(HDROP16 h); -BOOL16 WINAPI DragQueryPoint16(HDROP16 hDrop, POINT16 *p); -HINSTANCE16 WINAPI ShellExecute16(HWND16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT16); -HICON16 WINAPI ExtractIcon16(HINSTANCE16,LPCSTR,UINT16); -HICON16 WINAPI ExtractAssociatedIcon16(HINSTANCE16,LPSTR,LPWORD); -HICON16 WINAPI ExtractIconEx16 ( LPCSTR, INT16, HICON16 *, HICON16 *, UINT16 ); -HINSTANCE16 WINAPI FindExecutable16(LPCSTR,LPCSTR,LPSTR); -HGLOBAL16 WINAPI InternalExtractIcon16(HINSTANCE16,LPCSTR,UINT16,WORD); -BOOL16 WINAPI ShellAbout16(HWND16,LPCSTR,LPCSTR,HICON16); -BOOL16 WINAPI AboutDlgProc16(HWND16,UINT16,WPARAM16,LPARAM); - static inline BOOL SHELL_OsIsUnicode(void) { /* if high-bit of version is 0, we are emulating NT */ @@ -205,12 +190,6 @@ static inline WCHAR * __SHCloneStrAtoW(WCHAR ** target, const char * source) return *target; }
-/* handle conversions */ -#define HICON_16(h32) (LOWORD(h32)) -#define HICON_32(h16) ((HICON)(ULONG_PTR)(h16)) -#define HINSTANCE_32(h16) ((HINSTANCE)(ULONG_PTR)(h16)) -#define HINSTANCE_16(h32) (LOWORD(h32)) - typedef UINT_PTR (*SHELL_ExecuteW32)(const WCHAR *lpCmd, WCHAR *env, BOOL shWait, const SHELLEXECUTEINFOW *sei, LPSHELLEXECUTEINFOW sei_out);
diff --git a/dlls/shell32/shellreg.c b/dlls/shell32/shellreg.c index fe87e96..37f3d9e 100644 --- a/dlls/shell32/shellreg.c +++ b/dlls/shell32/shellreg.c @@ -33,7 +33,6 @@ #include "winreg.h"
#include "undocshell.h" -#include "wine/winbase16.h"
#include "wine/debug.h"
diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c index 3be5962..201791f 100644 --- a/dlls/shell32/shlexec.c +++ b/dlls/shell32/shlexec.c @@ -42,7 +42,6 @@ #include "shlwapi.h" #include "ddeml.h"
-#include "wine/winbase16.h" #include "shell32_main.h" #include "pidl.h" #include "shresdef.h"