From 3b916e4405de2e9414a3d2b811858566aca92534 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?= =?UTF-8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= Date: Wed, 6 Aug 2014 10:33:47 +0000 Subject: [PATCH] Handle ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET https://bugzilla.gnome.org/show_bug.cgi?id=733773 --- gtk/gtkwin32.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gtk/gtkwin32.c b/gtk/gtkwin32.c index c33659e278..15dbc1489c 100644 --- a/gtk/gtkwin32.c +++ b/gtk/gtkwin32.c @@ -99,6 +99,7 @@ _gtk_load_dll_with_libgtk3_manifest (const gchar *dll_name) ULONG_PTR activation_cookie; LPSTR resource_name; BOOL activated; + DWORD error_code; resource_name = NULL; EnumResourceNames (gtk_dll, RT_MANIFEST, find_first_manifest, @@ -115,11 +116,13 @@ _gtk_load_dll_with_libgtk3_manifest (const gchar *dll_name) activation_ctx_descriptor.hModule = gtk_dll; activation_ctx_descriptor.lpResourceName = resource_name; activation_ctx_handle = CreateActCtx (&activation_ctx_descriptor); + error_code = GetLastError (); - if (activation_ctx_handle == INVALID_HANDLE_VALUE) + if (activation_ctx_handle == INVALID_HANDLE_VALUE && + error_code != ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET) g_warning ("Failed to CreateActCtx for module %p, resource %p: %lu\n", gtk_dll, resource_name, GetLastError ()); - else + else if (error_code != ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET) { activation_cookie = 0; activated = ActivateActCtx (activation_ctx_handle, &activation_cookie);