diff options
Diffstat (limited to 'lib/ephy-module.c')
-rw-r--r-- | lib/ephy-module.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/ephy-module.c b/lib/ephy-module.c index 9572d2010..39bf5b35c 100644 --- a/lib/ephy-module.c +++ b/lib/ephy-module.c @@ -42,6 +42,7 @@ struct _EphyModule char *path; GType type; + guint resident : 1; }; typedef GType (*EphyModuleRegisterFunc) (GTypeModule *); @@ -139,6 +140,11 @@ ephy_module_load (GTypeModule *gmodule) return FALSE; } + if (module->resident) + { + g_module_make_resident (module->library); + } + return TRUE; } @@ -209,7 +215,8 @@ ephy_module_class_init (EphyModuleClass *class) } EphyModule * -ephy_module_new (const char *path) +ephy_module_new (const char *path, + gboolean resident) { EphyModule *result; @@ -222,6 +229,7 @@ ephy_module_new (const char *path) g_type_module_set_name (G_TYPE_MODULE (result), path); result->path = g_strdup (path); + result->resident = resident != FALSE; return result; } |