Maarten Lankhorst : winegstreamer: Prevent gstreamer from being unloaded.

Alexandre Julliard julliard at winehq.org
Mon Nov 29 13:38:43 CST 2010


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

Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date:   Mon Nov 29 10:44:19 2010 +0100

winegstreamer: Prevent gstreamer from being unloaded.

---

 dlls/winegstreamer/main.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/dlls/winegstreamer/main.c b/dlls/winegstreamer/main.c
index ac9e97b..941f433 100644
--- a/dlls/winegstreamer/main.c
+++ b/dlls/winegstreamer/main.c
@@ -261,6 +261,15 @@ DWORD Gstreamer_init(void) {
             FIXME("Failed to initialize gstreamer: %s\n", err->message);
             g_error_free(err);
         }
+        if (inited) {
+            HINSTANCE newhandle;
+            /* Unloading glib is a bad idea.. it installs atexit handlers,
+             * so never unload the dll after loading */
+            GetModuleHandleExW(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
+                               (LPCWSTR)hInst, &newhandle);
+            if (!newhandle)
+                ERR("Could not pin module %p\n", hInst);
+        }
     }
     return inited;
 }




More information about the wine-cvs mailing list