Paul Gofman : mscoree: Fix calling convention for mono callback functions.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jan 21 11:22:05 CST 2016


Module: wine
Branch: master
Commit: b9a0fe18e3cbb4e5c0ac5021b8f041f970ab6c16
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b9a0fe18e3cbb4e5c0ac5021b8f041f970ab6c16

Author: Paul Gofman <gofmanp at gmail.com>
Date:   Wed Jan 20 18:03:40 2016 +0300

mscoree: Fix calling convention for mono callback functions.

ms_abi calling convention is required for x86_64 arch.

Signed-off-by: Paul Gofman <gofmanp at gmail.com>
Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mscoree/metahost.c        | 12 ++++++------
 dlls/mscoree/mscoree_private.h |  6 +++---
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/dlls/mscoree/metahost.c b/dlls/mscoree/metahost.c
index b0237b3..3d663f1 100644
--- a/dlls/mscoree/metahost.c
+++ b/dlls/mscoree/metahost.c
@@ -110,11 +110,11 @@ static BOOL get_mono_path(LPWSTR path);
 
 static BOOL find_mono_dll(LPCWSTR path, LPWSTR dll_path);
 
-static MonoAssembly* mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
+static MonoAssembly* CDECL mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
 
-static void mono_shutdown_callback_fn(MonoProfiler *prof);
+static void CDECL mono_shutdown_callback_fn(MonoProfiler *prof);
 
-static void mono_print_handler_fn(const char *string, INT is_stdout);
+static void CDECL mono_print_handler_fn(const char *string, INT is_stdout);
 
 static MonoImage* CDECL image_open_module_handle_dummy(HMODULE module_handle,
     char* fname, UINT has_entry_point, MonoImageOpenStatus* status)
@@ -249,12 +249,12 @@ fail:
     return E_FAIL;
 }
 
-static void mono_shutdown_callback_fn(MonoProfiler *prof)
+static void CDECL mono_shutdown_callback_fn(MonoProfiler *prof)
 {
     is_mono_shutdown = TRUE;
 }
 
-static void mono_print_handler_fn(const char *string, INT is_stdout)
+static void CDECL mono_print_handler_fn(const char *string, INT is_stdout)
 {
     wine_dbg_printf("%s", string);
 }
@@ -1144,7 +1144,7 @@ HRESULT get_file_from_strongname(WCHAR* stringnameW, WCHAR* assemblies_path, int
     return hr;
 }
 
-static MonoAssembly* mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, void *user_data)
+static MonoAssembly* CDECL mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, void *user_data)
 {
     HRESULT hr;
     MonoAssembly *result=NULL;
diff --git a/dlls/mscoree/mscoree_private.h b/dlls/mscoree/mscoree_private.h
index 0c59c42..7843407 100644
--- a/dlls/mscoree/mscoree_private.h
+++ b/dlls/mscoree/mscoree_private.h
@@ -128,11 +128,11 @@ typedef enum {
 	MONO_IMAGE_IMAGE_INVALID
 } MonoImageOpenStatus;
 
-typedef MonoAssembly* (*MonoAssemblyPreLoadFunc)(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
+typedef MonoAssembly* (CDECL *MonoAssemblyPreLoadFunc)(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
 
-typedef void (*MonoProfileFunc)(MonoProfiler *prof);
+typedef void (CDECL *MonoProfileFunc)(MonoProfiler *prof);
 
-typedef void (*MonoPrintCallback) (const char *string, INT is_stdout);
+typedef void (CDECL *MonoPrintCallback) (const char *string, INT is_stdout);
 
 extern BOOL is_mono_started DECLSPEC_HIDDEN;
 




More information about the wine-cvs mailing list