[gedit] Use the new g_irepository_require_private API
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] Use the new g_irepository_require_private API
- Date: Tue, 10 Aug 2010 13:14:23 +0000 (UTC)
commit dfb2469f01958592125156b8f9c084c4317175ed
Author: Steve Frécinaux <code istique net>
Date: Fri Jul 30 16:47:17 2010 +0200
Use the new g_irepository_require_private API
https://bugzilla.gnome.org/show_bug.cgi?id=625672
gedit/gedit-plugins-engine.c | 63 ++++++------------------------------------
1 files changed, 9 insertions(+), 54 deletions(-)
---
diff --git a/gedit/gedit-plugins-engine.c b/gedit/gedit-plugins-engine.c
index 4910d33..79cfe3f 100644
--- a/gedit/gedit-plugins-engine.c
+++ b/gedit/gedit-plugins-engine.c
@@ -90,62 +90,10 @@ gedit_plugins_engine_class_init (GeditPluginsEngineClass *klass)
g_type_class_add_private (klass, sizeof (GeditPluginsEnginePrivate));
}
-static void
-require_private_typelib (void)
-{
- const gchar *lib_dir;
- gchar *filename;
- GMappedFile *mfile;
- GTypelib *typelib;
- const gchar *ns;
- GError *error = NULL;
-
- lib_dir = gedit_dirs_get_gedit_lib_dir ();
- filename = g_build_filename (lib_dir,
- "girepository-1.0",
- "Gedit-3.0.typelib",
- NULL);
-
- mfile = g_mapped_file_new (filename, FALSE, NULL);
-
- g_free (filename);
-
- if (mfile == NULL)
- {
- g_warning ("Private typelib 'Gedit-3.0' not found");
- return;
- }
-
- typelib = g_typelib_new_from_mapped_file (mfile, &error);
-
- if (typelib == NULL)
- {
- g_warning ("Private typelib 'Gedit-3.0' could not be loaded: %s",
- error->message);
-
- g_error_free (error);
- return;
- }
-
- ns = g_irepository_load_typelib (g_irepository_get_default (),
- typelib,
- 0,
- &error);
-
- if (!ns)
- {
- g_warning ("Typelib 'Gedit-3.0' could not be loaded: %s",
- error->message);
- g_error_free (error);
- return;
- }
-
- gedit_debug_message (DEBUG_PLUGINS, "Namespace '%s' loaded.", ns);
-}
-
GeditPluginsEngine *
gedit_plugins_engine_get_default (void)
{
+ gchar *typelib_dir;
const gchar *modules_dir;
const gchar **search_paths;
@@ -154,12 +102,19 @@ gedit_plugins_engine_get_default (void)
return default_engine;
}
+ /* Require gedit's typelib. */
+ typelib_dir = g_build_filename (gedit_dirs_get_gedit_lib_dir (),
+ "girepository-1.0",
+ NULL);
+ g_irepository_require_private (g_irepository_get_default (),
+ typelib_dir, "Gedit", "3.0", 0, NULL);
+ g_free (typelib_dir);
+
/* This should be moved to libpeas */
g_irepository_require (g_irepository_get_default (),
"Peas", "1.0", 0, NULL);
g_irepository_require (g_irepository_get_default (),
"PeasUI", "1.0", 0, NULL);
- require_private_typelib ();
modules_dir = gedit_dirs_get_binding_modules_dir ();
search_paths = g_new (const gchar *, 5);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]