This patch allows Adobe Premiere CS4 for me to start (with only native msdmo due to other bug) without the winetricks atmlib , see bug https://bugs.winehq.org/show_bug.cgi?id=21017
Apparently this dll is present in about all windowsversions (at least at testbot); Found atmlib functions are documented here: web.mit.edu/PS/Adobe/Documents/5073.ATM_Adv_Win.ps
Signed-off-by: Louis Lenders xerox.xerox2000x@gmail.com --- configure | 2 ++ configure.ac | 1 + dlls/atmlib/Makefile.in | 4 +++ dlls/atmlib/atmlib.spec | 76 +++++++++++++++++++++++++++++++++++++++++ dlls/atmlib/main.c | 47 +++++++++++++++++++++++++ 5 files changed, 130 insertions(+) create mode 100644 dlls/atmlib/Makefile.in create mode 100644 dlls/atmlib/atmlib.spec create mode 100644 dlls/atmlib/main.c
diff --git a/configure b/configure index 119391d91b..fea3babb07 100755 --- a/configure +++ b/configure @@ -1107,6 +1107,7 @@ enable_atl100 enable_atl110 enable_atl80 enable_atl90 +enable_atmlib enable_authz enable_avicap32 enable_avifil32 @@ -18421,6 +18422,7 @@ wine_fn_config_makefile dlls/atl110 enable_atl110 wine_fn_config_makefile dlls/atl80 enable_atl80 wine_fn_config_makefile dlls/atl80/tests enable_tests wine_fn_config_makefile dlls/atl90 enable_atl90 +wine_fn_config_makefile dlls/atmlib enable_atmlib wine_fn_config_makefile dlls/authz enable_authz wine_fn_config_makefile dlls/avicap32 enable_avicap32 wine_fn_config_makefile dlls/avifil32 enable_avifil32 diff --git a/configure.ac b/configure.ac index 1bc3d13fc3..8c2dcb90b4 100644 --- a/configure.ac +++ b/configure.ac @@ -3043,6 +3043,7 @@ WINE_CONFIG_MAKEFILE(dlls/atl110) WINE_CONFIG_MAKEFILE(dlls/atl80) WINE_CONFIG_MAKEFILE(dlls/atl80/tests) WINE_CONFIG_MAKEFILE(dlls/atl90) +WINE_CONFIG_MAKEFILE(dlls/atmlib) WINE_CONFIG_MAKEFILE(dlls/authz) WINE_CONFIG_MAKEFILE(dlls/avicap32) WINE_CONFIG_MAKEFILE(dlls/avifil32) diff --git a/dlls/atmlib/Makefile.in b/dlls/atmlib/Makefile.in new file mode 100644 index 0000000000..904cbbb54a --- /dev/null +++ b/dlls/atmlib/Makefile.in @@ -0,0 +1,4 @@ +MODULE = atmlib.dll + +C_SRCS = \ + main.c diff --git a/dlls/atmlib/atmlib.spec b/dlls/atmlib/atmlib.spec new file mode 100644 index 0000000000..387486dd4d --- /dev/null +++ b/dlls/atmlib/atmlib.spec @@ -0,0 +1,76 @@ +@ stub ATMAddFont +@ stub ATMAddFontA +@ stub ATMAddFontEx +@ stub ATMAddFontExA +@ stub ATMAddFontExW +@ stub ATMAddFontW +@ stub ATMBBoxBaseXYShowText +@ stub ATMBBoxBaseXYShowTextA +@ stub ATMBBoxBaseXYShowTextW +@ stub ATMBeginFontChange +@ stub ATMClient +@ stub ATMEndFontChange +@ stub ATMEnumFonts +@ stub ATMEnumFontsA +@ stub ATMEnumFontsW +@ stub ATMEnumMMFonts +@ stub ATMEnumMMFontsA +@ stub ATMEnumMMFontsW +@ stub ATMFinish +@ stub ATMFontAvailable +@ stub ATMFontAvailableA +@ stub ATMFontAvailableW +@ stub ATMFontSelected +@ stub ATMFontStatus +@ stub ATMFontStatusA +@ stub ATMFontStatusW +@ stub ATMForceFontChange +@ stub ATMGetBuildStr +@ stub ATMGetBuildStrA +@ stub ATMGetBuildStrW +@ stub ATMGetFontBBox +@ stub ATMGetFontInfo +@ stub ATMGetFontInfoA +@ stub ATMGetFontInfoW +@ stub ATMGetFontPaths +@ stub ATMGetFontPathsA +@ stub ATMGetFontPathsW +@ stub ATMGetGlyphList +@ stub ATMGetGlyphListA +@ stub ATMGetGlyphListW +@ stub ATMGetMenuName +@ stub ATMGetMenuNameA +@ stub ATMGetMenuNameW +@ stub ATMGetNtmFields +@ stub ATMGetNtmFieldsA +@ stub ATMGetNtmFieldsW +@ stub ATMGetOutline +@ stub ATMGetOutlineA +@ stub ATMGetOutlineW +@ stub ATMGetPostScriptName +@ stub ATMGetPostScriptNameA +@ stub ATMGetPostScriptNameW +@ stub ATMGetVersion +@ stub ATMGetVersionEx +@ stub ATMGetVersionExA +@ stub ATMGetVersionExW +@ stub ATMInstallSubstFontA +@ stub ATMInstallSubstFontW +@ stub ATMMakePFM +@ stub ATMMakePFMA +@ stub ATMMakePFMW +@ stub ATMMakePSS +@ stub ATMMakePSSA +@ stub ATMMakePSSW +@ stdcall ATMProperlyLoaded() +@ stub ATMRemoveFont +@ stub ATMRemoveFontA +@ stub ATMRemoveFontW +@ stub ATMRemoveSubstFontA +@ stub ATMRemoveSubstFontW +@ stub ATMSelectEncoding +@ stub ATMSelectObject +@ stub ATMSetFlags +@ stub ATMXYShowText +@ stub ATMXYShowTextA +@ stub ATMXYShowTextW diff --git a/dlls/atmlib/main.c b/dlls/atmlib/main.c new file mode 100644 index 0000000000..0baca0001e --- /dev/null +++ b/dlls/atmlib/main.c @@ -0,0 +1,47 @@ +/* + * Copyright 2018 Louis Lenders + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "config.h" +#include <stdarg.h> + +#include "windef.h" +#include "winbase.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(atmlib); + +BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD reason, LPVOID lpv) +{ + TRACE("(%p, %d, %p)\n", hInstDLL, reason, lpv); + + switch (reason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hInstDLL); + break; + } + return TRUE; +} + +BOOL WINAPI ATMProperlyLoaded(void) +{ + FIXME("stub\n"); + return FALSE; +}