Commit 90f70502 authored by Milan Crha's avatar Milan Crha
Browse files

Bug #655507 - Do not unload extensions, keep them preloaded

parent ec540552
......@@ -94,17 +94,19 @@ extensible_load_extension (GType extension_type,
extension_class = g_type_class_ref (extension_type);
/* Only load extensions that extend the given extensible object. */
if (!g_type_is_a (extensible_type, extension_class->extensible_type))
goto exit;
extension = g_object_new (
extension_type, "extensible", extensible, NULL);
extensions = extensible_get_extensions (extensible);
g_ptr_array_add (extensions, extension);
exit:
g_type_class_unref (extension_class);
if (g_type_is_a (extensible_type, extension_class->extensible_type)) {
extension = g_object_new (
extension_type, "extensible", extensible, NULL);
extensions = extensible_get_extensions (extensible);
g_ptr_array_add (extensions, extension);
g_type_class_unref (extension_class);
} else {
/* keep the class referenced forever, later may anyone need it anyway,
and unref it may mean module unload, which breaks static strings
in GType */
}
}
static void
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment