Handle ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET

https://bugzilla.gnome.org/show_bug.cgi?id=733773
This commit is contained in:
Руслан Ижбулатов
2014-08-06 10:33:47 +00:00
parent 8a2a5adc8f
commit 3b916e4405

View File

@@ -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);