diff options
author | Руслан Ижбулатов <lrn1986@gmail.com> | 2014-08-06 10:33:47 +0000 |
---|---|---|
committer | Руслан Ижбулатов <lrn1986@gmail.com> | 2014-08-07 15:55:27 +0000 |
commit | 3b916e4405de2e9414a3d2b811858566aca92534 (patch) | |
tree | 6ee9e7059c42f9f613b56571dde6e69b0490a39d /gtk/gtkwin32.c | |
parent | 8a2a5adc8f2fda05edb0484891536c3eb4b0d326 (diff) | |
download | gtk+-3b916e4405de2e9414a3d2b811858566aca92534.tar.gz |
Handle ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET
https://bugzilla.gnome.org/show_bug.cgi?id=733773
Diffstat (limited to 'gtk/gtkwin32.c')
-rw-r--r-- | gtk/gtkwin32.c | 7 |
1 files 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); |