[eog] EogApplication: Activate per-app plugins in the startup callback
- From: Felix Riemann <friemann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [eog] EogApplication: Activate per-app plugins in the startup callback
- Date: Sun, 4 May 2014 12:20:05 +0000 (UTC)
commit 066be17db6a58b55d7c93d7bcb43c2a7fae050ad
Author: Felix Riemann <friemann gnome org>
Date: Sun May 4 14:13:54 2014 +0200
EogApplication: Activate per-app plugins in the startup callback
If activated in the init function the application could not be
as initialized as expected by the plugins. Also this avoids the
unneeded plugin enumeration when reusing an instance.
https://bugzilla.gnome.org/show_bug.cgi?id=729494
src/eog-application.c | 58 ++++++++++++++++++++++++------------------------
1 files changed, 29 insertions(+), 29 deletions(-)
---
diff --git a/src/eog-application.c b/src/eog-application.c
index 2ae4708..e1013de 100644
--- a/src/eog-application.c
+++ b/src/eog-application.c
@@ -231,6 +231,24 @@ eog_application_init_app_menu (EogApplication *application)
}
static void
+on_extension_added (PeasExtensionSet *set,
+ PeasPluginInfo *info,
+ PeasExtension *exten,
+ EogApplication *app)
+{
+ eog_application_activatable_activate (EOG_APPLICATION_ACTIVATABLE (exten));
+}
+
+static void
+on_extension_removed (PeasExtensionSet *set,
+ PeasPluginInfo *info,
+ PeasExtension *exten,
+ EogApplication *app)
+{
+ eog_application_activatable_deactivate (EOG_APPLICATION_ACTIVATABLE (exten));
+}
+
+static void
eog_application_startup (GApplication *application)
{
EogApplication *app = EOG_APPLICATION (application);
@@ -278,6 +296,17 @@ eog_application_startup (GApplication *application)
NULL);
eog_application_init_app_menu (app);
+
+ app->priv->extensions = peas_extension_set_new (
+ PEAS_ENGINE (app->priv->plugin_engine),
+ EOG_TYPE_APPLICATION_ACTIVATABLE,
+ "app", app, NULL);
+ g_signal_connect (app->priv->extensions, "extension-added",
+ G_CALLBACK (on_extension_added), app);
+ g_signal_connect (app->priv->extensions, "extension-removed",
+ G_CALLBACK (on_extension_removed), app);
+
+ peas_extension_set_call (app->priv->extensions, "activate");
}
static void
@@ -397,24 +426,6 @@ eog_application_class_init (EogApplicationClass *eog_application_class)
}
static void
-on_extension_added (PeasExtensionSet *set,
- PeasPluginInfo *info,
- PeasExtension *exten,
- EogApplication *app)
-{
- eog_application_activatable_activate (EOG_APPLICATION_ACTIVATABLE (exten));
-}
-
-static void
-on_extension_removed (PeasExtensionSet *set,
- PeasPluginInfo *info,
- PeasExtension *exten,
- EogApplication *app)
-{
- eog_application_activatable_deactivate (EOG_APPLICATION_ACTIVATABLE (exten));
-}
-
-static void
eog_application_init (EogApplication *eog_application)
{
EogApplicationPrivate *priv;
@@ -449,17 +460,6 @@ eog_application_init (EogApplication *eog_application)
EGG_TB_MODEL_NOT_REMOVABLE);
eog_application_load_accelerators ();
-
- priv->extensions = peas_extension_set_new (
- PEAS_ENGINE (priv->plugin_engine),
- EOG_TYPE_APPLICATION_ACTIVATABLE,
- "app", EOG_APPLICATION (eog_application),
- NULL);
- peas_extension_set_call (priv->extensions, "activate");
- g_signal_connect (priv->extensions, "extension-added",
- G_CALLBACK (on_extension_added), eog_application);
- g_signal_connect (priv->extensions, "extension-removed",
- G_CALLBACK (on_extension_removed), eog_application);
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]