[gtk] action muxer: Change inheritance
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk] action muxer: Change inheritance
- Date: Sat, 22 Jun 2019 23:32:31 +0000 (UTC)
commit ad4a81e9dfbe5caa444561372767dc90f3fb279e
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Jun 22 22:51:23 2019 +0000
action muxer: Change inheritance
Previously, we would not look any further for
an action once we found a match for the prefix,
defining inheritance by groups. Change this to
inheritance for individual actions, since we
are moving towards individual actions as the
main ingredient in GTKs action support.
gtk/gtkactionmuxer.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkactionmuxer.c b/gtk/gtkactionmuxer.c
index 8810ffb921..b752ea08e7 100644
--- a/gtk/gtkactionmuxer.c
+++ b/gtk/gtkactionmuxer.c
@@ -174,6 +174,7 @@ gtk_action_muxer_find_group (GtkActionMuxer *muxer,
{
const gchar *dot;
gchar *prefix;
+ const char *name;
Group *group;
dot = strchr (full_name, '.');
@@ -181,14 +182,20 @@ gtk_action_muxer_find_group (GtkActionMuxer *muxer,
if (!dot)
return NULL;
+ name = dot + 1;
+
prefix = g_strndup (full_name, dot - full_name);
group = g_hash_table_lookup (muxer->groups, prefix);
g_free (prefix);
if (action_name)
- *action_name = dot + 1;
+ *action_name = name;
+
+ if (group &&
+ g_action_group_has_action (group->group, name))
+ return group;
- return group;
+ return NULL;
}
GActionGroup *
@@ -199,8 +206,10 @@ gtk_action_muxer_find (GtkActionMuxer *muxer,
Group *group;
group = gtk_action_muxer_find_group (muxer, action_name, unprefixed_name);
+ if (group)
+ return group->group;
- return group->group;
+ return NULL;
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]