summaryrefslogtreecommitdiff
path: root/gtk/gtkapplication.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2010-06-08 09:03:07 -0400
committerMatthias Clasen <mclasen@redhat.com>2010-06-08 09:03:07 -0400
commit79b161f709671b7408a03a5456ed6716b3318c42 (patch)
treea914f14614fe7db4cc9f8c16f401885388ce6f66 /gtk/gtkapplication.c
parentcca298ad7d2e5ab80c238cddf84875b5dc8a74d4 (diff)
downloadgtk+-79b161f709671b7408a03a5456ed6716b3318c42.tar.gz
Use gtk_action_group_get_action when looking up actions
...instead of open-coding it. Pointed out by Christian Persch in bug 620960
Diffstat (limited to 'gtk/gtkapplication.c')
-rw-r--r--gtk/gtkapplication.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c
index 444bc9b5db..6be15a82b1 100644
--- a/gtk/gtkapplication.c
+++ b/gtk/gtkapplication.c
@@ -116,12 +116,11 @@ gtk_application_default_prepare_activation (GApplication *application,
GVariant *value;
g_variant_iter_init (&iter, platform_data);
- while (g_variant_iter_next (&iter, "{sv}", &key, &value))
+ while (g_variant_iter_next (&iter, "{&sv}", &key, &value))
{
if (strcmp (key, "startup-notification-id") == 0 &&
- strcmp (g_variant_get_type_string (value), "s") == 0)
+ g_variant_is_of_type (value, G_VARIANT_TYPE_STRING))
gdk_notify_startup_complete_with_id (g_variant_get_string (value, NULL));
- g_free (key);
g_variant_unref (value);
}
@@ -141,24 +140,18 @@ gtk_application_default_activated (GApplication *application,
static void
gtk_application_default_action (GApplication *application,
- const gchar *action,
+ const gchar *action_name,
guint timestamp)
{
GtkApplication *app = GTK_APPLICATION (application);
- GList *actions, *iter;
+ GtkAction *action;
- actions = gtk_action_group_list_actions (app->priv->main_actions);
- for (iter = actions; iter; iter = iter->next)
+ action = gtk_action_group_get_action (app->priv->main_actions, action_name);
+ if (action)
{
- GtkAction *gtkaction = iter->data;
- if (strcmp (action, gtk_action_get_name (gtkaction)) == 0)
- {
- /* TODO set timestamp */
- gtk_action_activate (gtkaction);
- break;
- }
+ /* TODO set timestamp */
+ gtk_action_activate (action);
}
- g_list_free (actions);
}
static GVariant *