From cf87feee13fa0d2feedb5cd762866aed0ed00dba Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Thu, 15 Aug 2019 13:00:33 -0500 Subject: [PATCH] mscorwks: Prefer the native version. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47622 Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/mscorwks/Makefile.in | 5 +++++ dlls/mscorwks/mscorwks_main.c | 36 +++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 dlls/mscorwks/mscorwks_main.c diff --git a/dlls/mscorwks/Makefile.in b/dlls/mscorwks/Makefile.in index 4527266171c..42a6238a9a9 100644 --- a/dlls/mscorwks/Makefile.in +++ b/dlls/mscorwks/Makefile.in @@ -1 +1,6 @@ MODULE = mscorwks.dll + +EXTRADLLFLAGS = -mno-cygwin + +C_SRCS = \ + mscorwks_main.c diff --git a/dlls/mscorwks/mscorwks_main.c b/dlls/mscorwks/mscorwks_main.c new file mode 100644 index 00000000000..ac7708087f6 --- /dev/null +++ b/dlls/mscorwks/mscorwks_main.c @@ -0,0 +1,36 @@ +/* + * .NET workstation runtime + * + * Copyright 2019 Zebediah Figura for CodeWeavers + * + * 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 +#include +#include + +BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved) +{ + switch (reason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(instance); + } + + return TRUE; +}