Merge lp:~attente/unity-gtk-module/1208019 into lp:unity-gtk-module/14.04

Proposed by William Hua on 2014-03-20
Status: Merged
Approved by: Charles Kerr on 2014-03-21
Approved revision: 331
Merged at revision: 321
Proposed branch: lp:~attente/unity-gtk-module/1208019
Merge into: lp:unity-gtk-module/14.04
Diff against target: 418 lines (+104/-82)
8 files modified
lib/unity-gtk-action-group.c (+10/-35)
lib/unity-gtk-action-group.h (+0/-4)
lib/unity-gtk-menu-item-private.h (+1/-2)
lib/unity-gtk-menu-item.c (+82/-16)
lib/unity-gtk-menu-section.c (+1/-1)
lib/unity-gtk-menu-shell.c (+5/-13)
lib/unity-gtk-menu-shell.h (+0/-1)
src/main.c (+5/-10)
To merge this branch: bzr merge lp:~attente/unity-gtk-module/1208019
Reviewer Review Type Date Requested Status
Charles Kerr (community) 2014-03-20 Approve on 2014-03-21
PS Jenkins bot (community) continuous-integration Approve on 2014-03-20
Review via email: mp+212063@code.launchpad.net

Commit message

Fix Eclipse and DBeaver menus.

Description of the change

Fix Eclipse and DBeaver menus.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'lib/unity-gtk-action-group.c'
--- lib/unity-gtk-action-group.c 2013-12-13 17:42:54 +0000
+++ lib/unity-gtk-action-group.c 2014-03-20 22:09:10 +0000
@@ -120,38 +120,13 @@
120120
121 if (old_group != old_old_group)121 if (old_group != old_old_group)
122 {122 {
123 if (group->old_group_action_state_changed_handler_id)
124 {
125 g_assert (old_old_group != NULL);
126 g_signal_handler_disconnect (old_old_group, group->old_group_action_state_changed_handler_id);
127 group->old_group_action_state_changed_handler_id = 0;
128 }
129
130 if (group->old_group_action_enabled_changed_handler_id)
131 {
132 g_assert (old_old_group != NULL);
133 g_signal_handler_disconnect (old_old_group, group->old_group_action_enabled_changed_handler_id);
134 group->old_group_action_enabled_changed_handler_id = 0;
135 }
136
137 if (group->old_group_action_removed_handler_id)
138 {
139 g_assert (old_old_group != NULL);
140 g_signal_handler_disconnect (old_old_group, group->old_group_action_removed_handler_id);
141 group->old_group_action_removed_handler_id = 0;
142 }
143
144 if (group->old_group_action_added_handler_id)
145 {
146 g_assert (old_old_group != NULL);
147 g_signal_handler_disconnect (old_old_group, group->old_group_action_added_handler_id);
148 group->old_group_action_added_handler_id = 0;
149 }
150
151 if (old_old_group != NULL)123 if (old_old_group != NULL)
152 {124 {
153 gchar **names = g_action_group_list_actions (old_old_group);125 gchar **names;
154126
127 g_signal_handlers_disconnect_by_data (old_old_group, group);
128
129 names = g_action_group_list_actions (old_old_group);
155 group->old_group = NULL;130 group->old_group = NULL;
156 g_object_unref (old_old_group);131 g_object_unref (old_old_group);
157132
@@ -171,10 +146,10 @@
171 gchar **names = g_action_group_list_actions (old_group);146 gchar **names = g_action_group_list_actions (old_group);
172147
173 group->old_group = g_object_ref (old_group);148 group->old_group = g_object_ref (old_group);
174 group->old_group_action_added_handler_id = g_signal_connect (old_group, "action-added", G_CALLBACK (unity_gtk_action_group_handle_group_action_added), group);149 g_signal_connect (old_group, "action-added", G_CALLBACK (unity_gtk_action_group_handle_group_action_added), group);
175 group->old_group_action_removed_handler_id = g_signal_connect (old_group, "action-removed", G_CALLBACK (unity_gtk_action_group_handle_group_action_removed), group);150 g_signal_connect (old_group, "action-removed", G_CALLBACK (unity_gtk_action_group_handle_group_action_removed), group);
176 group->old_group_action_enabled_changed_handler_id = g_signal_connect (old_group, "action-enabled-changed", G_CALLBACK (unity_gtk_action_group_handle_group_action_enabled_changed), group);151 g_signal_connect (old_group, "action-enabled-changed", G_CALLBACK (unity_gtk_action_group_handle_group_action_enabled_changed), group);
177 group->old_group_action_state_changed_handler_id = g_signal_connect (old_group, "action-state-changed", G_CALLBACK (unity_gtk_action_group_handle_group_action_state_changed), group);152 g_signal_connect (old_group, "action-state-changed", G_CALLBACK (unity_gtk_action_group_handle_group_action_state_changed), group);
178153
179 if (names != NULL)154 if (names != NULL)
180 {155 {
@@ -672,7 +647,7 @@
672 name = gtk_menu_item_get_label (menu_item);647 name = gtk_menu_item_get_label (menu_item);
673648
674 if (name == NULL || name[0] == '\0')649 if (name == NULL || name[0] == '\0')
675 name = gtk_menu_item_get_nth_label (menu_item, 0);650 name = gtk_menu_item_get_nth_label_label (menu_item, 0);
676651
677 if (name != NULL && name[0] == '\0')652 if (name != NULL && name[0] == '\0')
678 name = NULL;653 name = NULL;
679654
=== modified file 'lib/unity-gtk-action-group.h'
--- lib/unity-gtk-action-group.h 2013-02-19 11:55:57 +0000
+++ lib/unity-gtk-action-group.h 2014-03-20 22:09:10 +0000
@@ -51,10 +51,6 @@
5151
52 /*< private >*/52 /*< private >*/
53 GActionGroup *old_group;53 GActionGroup *old_group;
54 gulong old_group_action_added_handler_id;
55 gulong old_group_action_removed_handler_id;
56 gulong old_group_action_enabled_changed_handler_id;
57 gulong old_group_action_state_changed_handler_id;
58 GHashTable *actions_by_name;54 GHashTable *actions_by_name;
59 GHashTable *names_by_radio_menu_item;55 GHashTable *names_by_radio_menu_item;
60};56};
6157
=== modified file 'lib/unity-gtk-menu-item-private.h'
--- lib/unity-gtk-menu-item-private.h 2014-03-06 20:27:26 +0000
+++ lib/unity-gtk-menu-item-private.h 2014-03-20 22:09:10 +0000
@@ -47,7 +47,6 @@
4747
48 /*< private >*/48 /*< private >*/
49 GtkMenuItem *menu_item;49 GtkMenuItem *menu_item;
50 gulong menu_item_notify_handler_id;
51 UnityGtkMenuShell *parent_shell;50 UnityGtkMenuShell *parent_shell;
52 UnityGtkMenuShell *child_shell;51 UnityGtkMenuShell *child_shell;
53 guchar child_shell_valid : 1;52 guchar child_shell_valid : 1;
@@ -90,7 +89,7 @@
90void unity_gtk_menu_item_print (UnityGtkMenuItem *item,89void unity_gtk_menu_item_print (UnityGtkMenuItem *item,
91 guint indent) G_GNUC_INTERNAL;90 guint indent) G_GNUC_INTERNAL;
9291
93const gchar * gtk_menu_item_get_nth_label (GtkMenuItem *menu_item,92const gchar * gtk_menu_item_get_nth_label_label (GtkMenuItem *menu_item,
94 guint index) G_GNUC_INTERNAL;93 guint index) G_GNUC_INTERNAL;
9594
96G_END_DECLS95G_END_DECLS
9796
=== modified file 'lib/unity-gtk-menu-item.c'
--- lib/unity-gtk-menu-item.c 2014-03-06 20:27:26 +0000
+++ lib/unity-gtk-menu-item.c 2014-03-20 22:09:10 +0000
@@ -57,12 +57,11 @@
57 }57 }
58}58}
5959
60const gchar *60static GtkLabel *
61gtk_menu_item_get_nth_label (GtkMenuItem *menu_item,61gtk_menu_item_get_nth_label (GtkMenuItem *menu_item,
62 guint index)62 guint index)
63{63{
64 UnityGtkSearch search;64 UnityGtkSearch search;
65 const gchar *label = NULL;
6665
67 g_return_val_if_fail (GTK_IS_MENU_ITEM (menu_item), NULL);66 g_return_val_if_fail (GTK_IS_MENU_ITEM (menu_item), NULL);
6867
@@ -72,10 +71,25 @@
7271
73 g_object_get_nth_object (G_OBJECT (menu_item), &search);72 g_object_get_nth_object (G_OBJECT (menu_item), &search);
7473
75 if (search.object != NULL)74 return search.object != NULL ? GTK_LABEL (search.object) : NULL;
76 label = gtk_label_get_label (GTK_LABEL (search.object));75}
7776
78 return label != NULL && label[0] != '\0' ? label : NULL;77const gchar *
78gtk_menu_item_get_nth_label_label (GtkMenuItem *menu_item,
79 guint index)
80{
81 GtkLabel *label;
82 const gchar *label_label;
83
84 g_return_val_if_fail (GTK_IS_MENU_ITEM (menu_item), NULL);
85
86 label = gtk_menu_item_get_nth_label (menu_item, index);
87 label_label = NULL;
88
89 if (label != NULL)
90 label_label = gtk_label_get_label (label);
91
92 return label_label != NULL && label_label[0] != '\0' ? label_label : NULL;
79}93}
8094
81static GtkImage *95static GtkImage *
@@ -295,9 +309,12 @@
295 GParamSpec *pspec,309 GParamSpec *pspec,
296 gpointer user_data)310 gpointer user_data)
297{311{
312 static const gchar *label_name;
313
298 UnityGtkMenuItem *item;314 UnityGtkMenuItem *item;
299 UnityGtkMenuShell *parent_shell;315 UnityGtkMenuShell *parent_shell;
300 GObject *menu_item;316 GObject *menu_item;
317 const gchar *name;
301318
302 g_return_if_fail (UNITY_GTK_IS_MENU_ITEM (user_data));319 g_return_if_fail (UNITY_GTK_IS_MENU_ITEM (user_data));
303320
@@ -308,24 +325,62 @@
308 g_return_if_fail (parent_shell != NULL);325 g_return_if_fail (parent_shell != NULL);
309 g_warn_if_fail (object == menu_item);326 g_warn_if_fail (object == menu_item);
310327
311 unity_gtk_menu_shell_handle_item_notify (parent_shell, item, g_param_spec_get_name (pspec));328 if (label_name == NULL)
329 label_name = g_intern_static_string ("label");
330
331 name = g_param_spec_get_name (pspec);
332
333 if (name != label_name)
334 unity_gtk_menu_shell_handle_item_notify (parent_shell, item, name);
335}
336
337static void
338unity_gtk_menu_item_handle_label_notify (GObject *object,
339 GParamSpec *pspec,
340 gpointer user_data)
341{
342 static const gchar *label_name;
343
344 UnityGtkMenuItem *item;
345 UnityGtkMenuShell *parent_shell;
346 const gchar *name;
347
348 g_return_if_fail (UNITY_GTK_IS_MENU_ITEM (user_data));
349
350 item = UNITY_GTK_MENU_ITEM (user_data);
351 parent_shell = item->parent_shell;
352
353 g_return_if_fail (parent_shell != NULL);
354
355 if (label_name == NULL)
356 label_name = g_intern_static_string ("label");
357
358 name = g_param_spec_get_name (pspec);
359
360 if (name == label_name)
361 unity_gtk_menu_shell_handle_item_notify (parent_shell, item, name);
312}362}
313363
314static void364static void
315unity_gtk_menu_item_set_menu_item (UnityGtkMenuItem *item,365unity_gtk_menu_item_set_menu_item (UnityGtkMenuItem *item,
316 GtkMenuItem *menu_item)366 GtkMenuItem *menu_item)
317{367{
368 GtkLabel *label;
369
318 g_return_if_fail (UNITY_GTK_IS_MENU_ITEM (item));370 g_return_if_fail (UNITY_GTK_IS_MENU_ITEM (item));
319371
320 if (menu_item != item->menu_item)372 if (menu_item != item->menu_item)
321 {373 {
322 UnityGtkMenuShell *child_shell = item->child_shell;374 UnityGtkMenuShell *child_shell = item->child_shell;
323375
324 if (item->menu_item_notify_handler_id)376 if (item->menu_item != NULL)
325 {377 {
326 g_warn_if_fail (item->menu_item != NULL);378 label = gtk_menu_item_get_nth_label (item->menu_item, 0);
327 g_signal_handler_disconnect (item->menu_item, item->menu_item_notify_handler_id);379
328 item->menu_item_notify_handler_id = 0;380 if (label != NULL)
381 g_signal_handlers_disconnect_by_data (label, item);
382
383 g_signal_handlers_disconnect_by_data (item->menu_item, item);
329 }384 }
330385
331 if (child_shell != NULL)386 if (child_shell != NULL)
@@ -339,7 +394,20 @@
339 item->menu_item = menu_item;394 item->menu_item = menu_item;
340395
341 if (menu_item != NULL)396 if (menu_item != NULL)
342 item->menu_item_notify_handler_id = g_signal_connect (menu_item, "notify", G_CALLBACK (unity_gtk_menu_item_handle_item_notify), item);397 {
398 g_signal_connect (menu_item, "notify", G_CALLBACK (unity_gtk_menu_item_handle_item_notify), item);
399
400 /* ensure label is available */
401 gtk_menu_item_get_label (menu_item);
402 label = gtk_menu_item_get_nth_label (menu_item, 0);
403
404 if (label != NULL)
405 g_signal_connect (label, "notify", G_CALLBACK (unity_gtk_menu_item_handle_label_notify), item);
406
407 /* LP: #1208019 */
408 if (gtk_menu_item_get_submenu (menu_item) != NULL)
409 g_signal_emit_by_name (gtk_menu_item_get_submenu (menu_item), "show");
410 }
343 }411 }
344}412}
345413
@@ -587,7 +655,7 @@
587 }655 }
588656
589 if (label == NULL || label[0] == '\0')657 if (label == NULL || label[0] == '\0')
590 label = gtk_menu_item_get_nth_label (item->menu_item, 0);658 label = gtk_menu_item_get_nth_label_label (item->menu_item, 0);
591659
592 if (label != NULL && label[0] != '\0')660 if (label != NULL && label[0] != '\0')
593 {661 {
@@ -709,9 +777,7 @@
709 g_print ("%s%u (%s *) %p\n", space, item->item_index, G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (item)), item);777 g_print ("%s%u (%s *) %p\n", space, item->item_index, G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (item)), item);
710778
711 if (item->menu_item != NULL)779 if (item->menu_item != NULL)
712 g_print ("%s %lu (%s *) %p\n", space, item->menu_item_notify_handler_id, G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (item->menu_item)), item->menu_item);780 g_print ("%s (%s *) %p\n", space, G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (item->menu_item)), item->menu_item);
713 else if (item->menu_item_notify_handler_id)
714 g_print ("%s %lu\n", space, item->menu_item_notify_handler_id);
715781
716 if (item->parent_shell != NULL)782 if (item->parent_shell != NULL)
717 g_print ("%s (%s *) %p\n", space, G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (item->parent_shell)), item->parent_shell);783 g_print ("%s (%s *) %p\n", space, G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (item->parent_shell)), item->parent_shell);
718784
=== modified file 'lib/unity-gtk-menu-section.c'
--- lib/unity-gtk-menu-section.c 2013-06-17 17:32:33 +0000
+++ lib/unity-gtk-menu-section.c 2014-03-20 22:09:10 +0000
@@ -166,7 +166,7 @@
166 }166 }
167167
168 if (accel_name == NULL)168 if (accel_name == NULL)
169 accel_name = g_strdup (gtk_menu_item_get_nth_label (item->menu_item, 1));169 accel_name = g_strdup (gtk_menu_item_get_nth_label_label (item->menu_item, 1));
170170
171 if (accel_name != NULL)171 if (accel_name != NULL)
172 g_hash_table_insert (*attributes, G_MENU_ATTRIBUTE_ACCEL, g_variant_ref_sink (g_variant_new_string (accel_name)));172 g_hash_table_insert (*attributes, G_MENU_ATTRIBUTE_ACCEL, g_variant_ref_sink (g_variant_new_string (accel_name)));
173173
=== modified file 'lib/unity-gtk-menu-shell.c'
--- lib/unity-gtk-menu-shell.c 2014-03-06 20:27:26 +0000
+++ lib/unity-gtk-menu-shell.c 2014-03-20 22:09:10 +0000
@@ -731,12 +731,8 @@
731 if (shell->action_group != NULL)731 if (shell->action_group != NULL)
732 unity_gtk_action_group_disconnect_shell (shell->action_group, shell);732 unity_gtk_action_group_disconnect_shell (shell->action_group, shell);
733733
734 if (shell->menu_shell_insert_handler_id)734 if (shell->menu_shell != NULL)
735 {735 g_signal_handlers_disconnect_by_data (shell->menu_shell, shell);
736 g_assert (shell->menu_shell != NULL);
737 g_signal_handler_disconnect (shell->menu_shell, shell->menu_shell_insert_handler_id);
738 shell->menu_shell_insert_handler_id = 0;
739 }
740736
741 if (separator_indices != NULL)737 if (separator_indices != NULL)
742 {738 {
@@ -771,7 +767,7 @@
771 {767 {
772 g_object_set_qdata_full (G_OBJECT (menu_shell), menu_shell_quark (), shell, (GDestroyNotify) unity_gtk_menu_shell_clear_menu_shell);768 g_object_set_qdata_full (G_OBJECT (menu_shell), menu_shell_quark (), shell, (GDestroyNotify) unity_gtk_menu_shell_clear_menu_shell);
773769
774 shell->menu_shell_insert_handler_id = g_signal_connect (menu_shell, "insert", G_CALLBACK (unity_gtk_menu_shell_handle_shell_insert), shell);770 g_signal_connect (menu_shell, "insert", G_CALLBACK (unity_gtk_menu_shell_handle_shell_insert), shell);
775 }771 }
776 }772 }
777}773}
@@ -781,8 +777,6 @@
781{777{
782 g_return_if_fail (UNITY_GTK_IS_MENU_SHELL (shell));778 g_return_if_fail (UNITY_GTK_IS_MENU_SHELL (shell));
783779
784 shell->menu_shell_insert_handler_id = 0;
785
786 unity_gtk_menu_shell_set_menu_shell (shell, NULL);780 unity_gtk_menu_shell_set_menu_shell (shell, NULL);
787}781}
788782
@@ -800,7 +794,7 @@
800 unity_gtk_menu_shell_set_menu_shell (shell, NULL);794 unity_gtk_menu_shell_set_menu_shell (shell, NULL);
801795
802 if (settings != NULL)796 if (settings != NULL)
803 g_signal_handlers_disconnect_by_func (settings, unity_gtk_menu_shell_handle_settings_notify, shell);797 g_signal_handlers_disconnect_by_data (settings, shell);
804798
805 G_OBJECT_CLASS (unity_gtk_menu_shell_parent_class)->dispose (object);799 G_OBJECT_CLASS (unity_gtk_menu_shell_parent_class)->dispose (object);
806}800}
@@ -1085,9 +1079,7 @@
1085 g_print ("%s(%s *) %p\n", space, G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (shell)), shell);1079 g_print ("%s(%s *) %p\n", space, G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (shell)), shell);
10861080
1087 if (shell->menu_shell != NULL)1081 if (shell->menu_shell != NULL)
1088 g_print ("%s %lu (%s *) %p\n", space, shell->menu_shell_insert_handler_id, G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (shell->menu_shell)), shell->menu_shell);1082 g_print ("%s (%s *) %p\n", space, G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (shell->menu_shell)), shell->menu_shell);
1089 else if (shell->menu_shell_insert_handler_id)
1090 g_print ("%s %lu\n", space, shell->menu_shell_insert_handler_id);
10911083
1092 if (shell->items != NULL)1084 if (shell->items != NULL)
1093 {1085 {
10941086
=== modified file 'lib/unity-gtk-menu-shell.h'
--- lib/unity-gtk-menu-shell.h 2014-02-26 05:40:41 +0000
+++ lib/unity-gtk-menu-shell.h 2014-03-20 22:09:10 +0000
@@ -51,7 +51,6 @@
5151
52 /*< private >*/52 /*< private >*/
53 GtkMenuShell *menu_shell;53 GtkMenuShell *menu_shell;
54 gulong menu_shell_insert_handler_id;
55 gboolean has_mnemonics;54 gboolean has_mnemonics;
56 GPtrArray *items;55 GPtrArray *items;
57 GPtrArray *sections;56 GPtrArray *sections;
5857
=== modified file 'src/main.c'
--- src/main.c 2013-11-27 15:54:38 +0000
+++ src/main.c 2014-03-20 22:09:10 +0000
@@ -27,7 +27,6 @@
27 */27 */
28static const char * const BLACKLIST[] =28static const char * const BLACKLIST[] =
29{29{
30 "Eclipse",
31 "acroread",30 "acroread",
32 "emacs",31 "emacs",
33 "emacs23",32 "emacs23",
@@ -70,7 +69,6 @@
70struct _MenuShellData69struct _MenuShellData
71{70{
72 GtkWindow *window;71 GtkWindow *window;
73 gulong settings_notify_gtk_shell_shows_menubar_handler_id;
74};72};
7573
76static void (* pre_hijacked_window_realize) (GtkWidget *widget);74static void (* pre_hijacked_window_realize) (GtkWidget *widget);
@@ -589,7 +587,6 @@
589{587{
590 GtkWidget *window;588 GtkWidget *window;
591 GtkSettings *settings;589 GtkSettings *settings;
592 MenuShellData *menu_shell_data;
593590
594 g_return_if_fail (GTK_IS_MENU_BAR (widget));591 g_return_if_fail (GTK_IS_MENU_BAR (widget));
595592
@@ -602,24 +599,22 @@
602 gtk_window_connect_menu_shell (GTK_WINDOW (window), GTK_MENU_SHELL (widget));599 gtk_window_connect_menu_shell (GTK_WINDOW (window), GTK_MENU_SHELL (widget));
603600
604 settings = gtk_widget_get_settings (widget);601 settings = gtk_widget_get_settings (widget);
605 menu_shell_data = gtk_menu_shell_get_menu_shell_data (GTK_MENU_SHELL (widget));602 g_signal_connect (settings, "notify::gtk-shell-shows-menubar", G_CALLBACK (gtk_settings_handle_gtk_shell_shows_menubar), widget);
606 menu_shell_data->settings_notify_gtk_shell_shows_menubar_handler_id = g_signal_connect (settings, "notify::gtk-shell-shows-menubar", G_CALLBACK (gtk_settings_handle_gtk_shell_shows_menubar), widget);
607}603}
608604
609static void605static void
610hijacked_menu_bar_unrealize (GtkWidget *widget)606hijacked_menu_bar_unrealize (GtkWidget *widget)
611{607{
608 GtkSettings *settings;
612 MenuShellData *menu_shell_data;609 MenuShellData *menu_shell_data;
613610
614 g_return_if_fail (GTK_IS_MENU_BAR (widget));611 g_return_if_fail (GTK_IS_MENU_BAR (widget));
615612
613 settings = gtk_widget_get_settings (widget);
616 menu_shell_data = gtk_menu_shell_get_menu_shell_data (GTK_MENU_SHELL (widget));614 menu_shell_data = gtk_menu_shell_get_menu_shell_data (GTK_MENU_SHELL (widget));
617615
618 if (menu_shell_data->settings_notify_gtk_shell_shows_menubar_handler_id)616 if (settings != NULL)
619 {617 g_signal_handlers_disconnect_by_data (settings, widget);
620 g_signal_handler_disconnect (gtk_widget_get_settings (widget), menu_shell_data->settings_notify_gtk_shell_shows_menubar_handler_id);
621 menu_shell_data->settings_notify_gtk_shell_shows_menubar_handler_id = 0;
622 }
623618
624 if (menu_shell_data->window != NULL)619 if (menu_shell_data->window != NULL)
625 gtk_window_disconnect_menu_shell (menu_shell_data->window, GTK_MENU_SHELL (widget));620 gtk_window_disconnect_menu_shell (menu_shell_data->window, GTK_MENU_SHELL (widget));

Subscribers

People subscribed via source and target branches