diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2005-10-21 23:31:19 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2005-10-21 23:31:19 +0800 |
commit | 8e4b79936d79e1fb33947fbfbea1f69141488790 (patch) | |
tree | 3ea3a4c212b43be8b3526d5098800a61f63b1d41 /lib/ephy-module.c | |
parent | 944263b78b78513f86b48dd74a1ba9900f05ed10 (diff) | |
download | gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar.gz gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar.bz2 gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar.lz gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar.xz gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.tar.zst gsoc2013-epiphany-8e4b79936d79e1fb33947fbfbea1f69141488790.zip |
Expose the extension description keyfile directly to the loaders.
2005-10-21 Christian Persch <chpe@cvs.gnome.org>
* lib/ephy-loader.c: (ephy_loader_get_object):
* lib/ephy-loader.h:
* lib/ephy-module.c: (ephy_module_load), (ephy_module_new):
* lib/ephy-module.h:
* lib/ephy-shlib-loader.c: (impl_get_object),
(ephy_shlib_loader_class_init):
* src/ephy-extensions-manager.c: (free_extension_info),
(ephy_extensions_manager_load_ini_string), (get_loader_for_type),
(load_extension):
* src/ephy-python-loader.c: (impl_get_object):
Expose the extension description keyfile directly to the loaders.
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; } |