summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLRN <lrn1986@gmail.com>2019-06-27 16:08:59 +0000
committerLRN <lrn1986@gmail.com>2019-06-27 16:08:59 +0000
commit5e7c18fa48a12760a363000eb2261c7abe5aa08f (patch)
tree1f4a4b876b22c8e3187d4a23f9f63b468b057ff5
parent75614a0972e40c66def4c575aef1068945cadc86 (diff)
parentbe56d90fe93e1e9cefe3251e2d038b826341dcd7 (diff)
downloadglib-5e7c18fa48a12760a363000eb2261c7abe5aa08f.tar.gz
Merge branch 'nirbheek/preliminary-uwp-support' into 'master'
Preliminary patches for Universal Windows Platform support See merge request GNOME/glib!951
-rw-r--r--gio/gregistrysettingsbackend.c2
-rw-r--r--gmodule/gmodule-win32.c14
2 files changed, 15 insertions, 1 deletions
diff --git a/gio/gregistrysettingsbackend.c b/gio/gregistrysettingsbackend.c
index 70d391a32..26de2518c 100644
--- a/gio/gregistrysettingsbackend.c
+++ b/gio/gregistrysettingsbackend.c
@@ -408,7 +408,7 @@ registry_cache_add_item (GNode *parent,
item->block_count = 0;
item->readable = FALSE;
- trace ("\treg cache: adding %s to %s\n",
+ trace ("\tregistry cache: adding %s to %s\n",
name, ((RegistryCacheItem *)parent->data)->name);
cache_node = g_node_new (item);
diff --git a/gmodule/gmodule-win32.c b/gmodule/gmodule-win32.c
index 20459f372..1c7226a68 100644
--- a/gmodule/gmodule-win32.c
+++ b/gmodule/gmodule-win32.c
@@ -39,6 +39,12 @@
#include <sys/cygwin.h>
#endif
+/* Default family is DESKTOP_APP which is DESKTOP | APP
+ * We want to know when we're only building for apps */
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
+#define G_WINAPI_ONLY_APP
+#endif
+
static void
set_error (const gchar *format,
...)
@@ -84,7 +90,15 @@ _g_module_open (const gchar *file_name,
success = SetThreadErrorMode (SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS, &old_mode);
if (!success)
set_error ("");
+
+ /* When building for UWP, load app asset DLLs instead of filesystem DLLs.
+ * Needs MSVC, Windows 8 and newer, and is only usable from apps. */
+#if _WIN32_WINNT >= 0x0602 && defined(G_WINAPI_ONLY_APP)
+ handle = LoadPackagedLibrary (wfilename, 0);
+#else
handle = LoadLibraryW (wfilename);
+#endif
+
if (success)
SetThreadErrorMode (old_mode, NULL);
g_free (wfilename);