aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ephy-window.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c
index cf876af8b..b27cdaef3 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -1031,7 +1031,7 @@ popup_menu_at_coords (GtkMenu *menu, gint *x, gint *y, gboolean *push_in,
*x = event->x;
*y = event->y;
- *push_in = FALSE;
+ *push_in = TRUE;
}
static void
@@ -1056,6 +1056,7 @@ show_embed_popup (EphyWindow *window, EphyTab *tab, EphyEmbedEvent *event)
const GValue *value;
gboolean framed, has_background;
GtkWidget *widget;
+ EphyEmbedEventType type;
ephy_embed_event_get_property (event, "framed_page", &value);
framed = g_value_get_int (value);
@@ -1103,8 +1104,20 @@ show_embed_popup (EphyWindow *window, EphyTab *tab, EphyEmbedEvent *event)
g_object_set_data (G_OBJECT (window), "context_event", event);
g_signal_connect (widget, "destroy",
G_CALLBACK (popup_destroy_cb), window);
- gtk_menu_popup (GTK_MENU (widget), NULL, NULL, popup_menu_at_coords, event, 2,
- gtk_get_current_event_time ());
+
+ ephy_embed_event_get_event_type (event, &type);
+ if (type == EPHY_EMBED_EVENT_KEY)
+ {
+ gtk_menu_popup (GTK_MENU (widget), NULL, NULL,
+ popup_menu_at_coords, event, 2,
+ gtk_get_current_event_time ());
+ }
+ else
+ {
+ gtk_menu_popup (GTK_MENU (widget), NULL, NULL,
+ NULL, NULL, 2,
+ gtk_get_current_event_time ());
+ }
}
static gint
@@ -1113,7 +1126,6 @@ tab_context_menu_cb (EphyEmbed *embed,
EphyWindow *window)
{
EphyTab *tab;
- EphyEmbedEventType type;
g_return_val_if_fail (IS_EPHY_WINDOW (window), FALSE);
g_return_val_if_fail (IS_EPHY_EMBED (embed), FALSE);
@@ -1126,19 +1138,7 @@ tab_context_menu_cb (EphyEmbed *embed,
window = ephy_tab_get_window (tab);
g_return_val_if_fail (window != NULL, FALSE);
- ephy_embed_event_get_event_type (event, &type);
-
- if (type == EPHY_EMBED_EVENT_MOUSE_BUTTON3)
- {
- show_embed_popup (window, tab, event);
- }
- else
- {
- int x, y;
-
- ephy_embed_event_get_coords (event, &x, &y); // Why?
- show_embed_popup (window, tab, event);
- }
+ show_embed_popup (window, tab, event);
return FALSE;
}