[glib/glib-2-22] Construct the gio module directory pathname at run-time on Windows
- From: Tor Lillqvist <tml src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [glib/glib-2-22] Construct the gio module directory pathname at run-time on Windows
- Date: Sun, 11 Oct 2009 21:20:27 +0000 (UTC)
commit ae0a220bf38165fb4825fa96e262ba65f143be93
Author: Tor Lillqvist <tml iki fi>
Date: Mon Oct 12 00:18:48 2009 +0300
Construct the gio module directory pathname at run-time on Windows
gio/giomodule.c | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
---
diff --git a/gio/giomodule.c b/gio/giomodule.c
index ec5b650..93405e5 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
@@ -297,6 +297,39 @@ extern GType _g_win32_volume_monitor_get_type (void);
extern GType g_win32_directory_monitor_get_type (void);
extern GType _g_winhttp_vfs_get_type (void);
+#ifdef G_PLATFORM_WIN32
+
+#include <windows.h>
+
+static HMODULE gio_dll = NULL;
+
+#ifdef DLL_EXPORT
+
+BOOL WINAPI
+DllMain (HINSTANCE hinstDLL,
+ DWORD fdwReason,
+ LPVOID lpvReserved)
+{
+ if (fdwReason == DLL_PROCESS_ATTACH)
+ gio_dll = hinstDLL;
+
+ return TRUE;
+}
+
+#endif
+
+#undef GIO_MODULE_DIR
+
+/* GIO_MODULE_DIR is used only in code called just once,
+ * so no problem leaking this
+ */
+#define GIO_MODULE_DIR \
+ g_build_filename (g_win32_get_package_installation_directory_of_module (gio_dll), \
+ "lib/gio/modules", \
+ NULL)
+
+#endif
+
void
_g_io_modules_ensure_extension_points_registered (void)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]