Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/libdocument/ev-module.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdocument/ev-module.c')
-rw-r--r--libdocument/ev-module.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libdocument/ev-module.c b/libdocument/ev-module.c
index f2aebe7..f9860a2 100644
--- a/libdocument/ev-module.c
+++ b/libdocument/ev-module.c
@@ -54,6 +54,7 @@ struct _EvModule {
GTypeModule parent_instance;
GModule *library;
+ gboolean resident;
gchar *path;
GType type;
@@ -106,6 +107,9 @@ ev_module_load (GTypeModule *gmodule)
return FALSE;
}
+ if (module->resident)
+ g_module_make_resident (module->library);
+
return TRUE;
}
@@ -175,7 +179,8 @@ ev_module_class_init (EvModuleClass *class)
}
EvModule *
-ev_module_new (const gchar *path)
+ev_module_new (const gchar *path,
+ gboolean resident)
{
EvModule *result;
@@ -185,6 +190,7 @@ ev_module_new (const gchar *path)
g_type_module_set_name (G_TYPE_MODULE (result), path);
result->path = g_strdup (path);
+ result->resident = resident;
return result;
}