X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=libdocument%2Fev-module.c;h=330da2ccd68ac93bc11fcd36fe7d848a64a7c8cb;hb=223cc03e0275c77c4482ed0495b3bd15993a3ab8;hp=f2aebe702c9d3d5d934e9749f71a6c0adac35b6f;hpb=31e16bd8f386dc292e60489d4a17227804bdc2e6;p=evince.git diff --git a/libdocument/ev-module.c b/libdocument/ev-module.c index f2aebe70..330da2cc 100644 --- a/libdocument/ev-module.c +++ b/libdocument/ev-module.c @@ -16,8 +16,8 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. */ /* This is a modified version of ephy-module.c from Epiphany source code. @@ -54,6 +54,7 @@ struct _EvModule { GTypeModule parent_instance; GModule *library; + gboolean resident; gchar *path; GType type; @@ -75,7 +76,7 @@ ev_module_load (GTypeModule *gmodule) module->library = g_module_open (module->path, 0); if (!module->library) { - g_warning (g_module_error ()); + g_warning ("%s", g_module_error ()); return FALSE; } @@ -83,7 +84,7 @@ ev_module_load (GTypeModule *gmodule) /* extract symbols from the lib */ if (!g_module_symbol (module->library, "register_evince_backend", (void *) ®ister_func)) { - g_warning (g_module_error ()); + g_warning ("%s", g_module_error ()); g_module_close (module->library); return FALSE; @@ -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; }