summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dbus/dbus-sysdeps-thread-win.c11
-rw-r--r--dbus/dbus-sysdeps-win.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/dbus/dbus-sysdeps-thread-win.c b/dbus/dbus-sysdeps-thread-win.c
index a4f45c0c..891b1bbd 100644
--- a/dbus/dbus-sysdeps-thread-win.c
+++ b/dbus/dbus-sysdeps-thread-win.c
@@ -36,6 +36,14 @@ struct DBusCondVar {
static DWORD dbus_cond_event_tls = TLS_OUT_OF_INDEXES;
+static HMODULE dbus_dll_hmodule;
+
+void *
+_dbus_win_get_dll_hmodule (void)
+{
+ return dbus_dll_hmodule;
+}
+
BOOL WINAPI DllMain (HINSTANCE hinstDLL,
DWORD fdwReason,
LPVOID lpvReserved);
@@ -49,6 +57,9 @@ DllMain (HINSTANCE hinstDLL,
HANDLE event;
switch (fdwReason)
{
+ case DLL_PROCESS_ATTACH:
+ dbus_dll_hmodule = hinstDLL;
+ break;
case DLL_THREAD_DETACH:
if (dbus_cond_event_tls != TLS_OUT_OF_INDEXES)
{
diff --git a/dbus/dbus-sysdeps-win.h b/dbus/dbus-sysdeps-win.h
index 161a819f..032b9a2b 100644
--- a/dbus/dbus-sysdeps-win.h
+++ b/dbus/dbus-sysdeps-win.h
@@ -26,6 +26,7 @@
#ifndef DBUS_SYSDEPS_WIN_H
#define DBUS_SYSDEPS_WIN_H
+extern void *_dbus_win_get_dll_hmodule (void);
#define _WINSOCKAPI_
#include "dbus-hash.h"