2159
2159
g_signal_connect_after (priv->last_menu, "move-current",
2160
2160
G_CALLBACK (on_active_menu_move_current), self);
2162
gtk_menu_popup (priv->last_menu, NULL, NULL, positon_menu, self, 0, CurrentTime);
2163
gtk_menu_reposition (priv->last_menu);
2165
GdkWindow *gdkwin = gtk_widget_get_window (GTK_WIDGET (priv->last_menu));
2162
gtk_menu_shell_set_take_focus (GTK_MENU_SHELL (priv->last_menu), TRUE);
2163
gtk_menu_popup (priv->last_menu, NULL, NULL, positon_menu, self, button, CurrentTime);
2164
gboolean visible = gtk_widget_is_visible (GTK_WIDGET (priv->last_menu));
2168
/* If the menu is not visible at this point, it's very likely that's
2169
* due to a keyboard grab, so let's try with a menu with no key-grab */
2170
gtk_menu_shell_set_take_focus (GTK_MENU_SHELL (priv->last_menu), FALSE);
2171
gtk_menu_popup (priv->last_menu, NULL, NULL, positon_menu, self, button, CurrentTime);
2172
visible = gtk_widget_is_visible (GTK_WIDGET (priv->last_menu));
2177
gtk_menu_reposition (priv->last_menu);
2179
GdkWindow *gdkwin = gtk_widget_get_window (GTK_WIDGET (priv->last_menu));
2168
2180
gint left=0, top=0, width=0, height=0;
2170
2182
gdk_window_get_geometry (gdkwin, NULL, NULL, &width, &height);