diff options
-rw-r--r-- | libempathy-gtk/empathy-chat-text-view.c | 4 | ||||
-rw-r--r-- | libempathy-gtk/empathy-chat.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/libempathy-gtk/empathy-chat-text-view.c b/libempathy-gtk/empathy-chat-text-view.c index f52ad28d5..c251f1f42 100644 --- a/libempathy-gtk/empathy-chat-text-view.c +++ b/libempathy-gtk/empathy-chat-text-view.c @@ -286,7 +286,9 @@ chat_text_view_populate_popup (EmpathyChatTextView *view, table = gtk_text_buffer_get_tag_table (priv->buffer); tag = gtk_text_tag_table_lookup (table, EMPATHY_CHAT_TEXT_VIEW_TAG_LINK); - gtk_widget_get_pointer (GTK_WIDGET (view), &x, &y); + gdk_window_get_device_position (gtk_widget_get_window (GTK_WIDGET (view)), + gdk_device_manager_get_client_pointer (gdk_display_get_device_manager ( + gtk_widget_get_display (GTK_WIDGET (view)))), &x, &y, NULL); gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (view), GTK_TEXT_WINDOW_WIDGET, diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c index 09146d896..307ecf3e1 100644 --- a/libempathy-gtk/empathy-chat.c +++ b/libempathy-gtk/empathy-chat.c @@ -2331,7 +2331,10 @@ chat_input_populate_popup_cb (GtkTextView *view, switch (priv->most_recent_event_type) { case GDK_BUTTON_PRESS: /* get the location from the pointer */ - gtk_widget_get_pointer (GTK_WIDGET (view), &x, &y); + gdk_window_get_device_position (gtk_widget_get_window (GTK_WIDGET (view)), + gdk_device_manager_get_client_pointer (gdk_display_get_device_manager ( + gtk_widget_get_display (GTK_WIDGET (view)))), &x, &y, NULL); + gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (view), GTK_TEXT_WINDOW_WIDGET, x, y, |