diff options
Diffstat (limited to 'widgets/misc')
-rw-r--r-- | widgets/misc/e-buffer-tagger.c | 35 | ||||
-rw-r--r-- | widgets/misc/e-calendar-item.c | 15 | ||||
-rw-r--r-- | widgets/misc/e-dateedit.c | 6 | ||||
-rw-r--r-- | widgets/misc/e-map.c | 9 |
4 files changed, 39 insertions, 26 deletions
diff --git a/widgets/misc/e-buffer-tagger.c b/widgets/misc/e-buffer-tagger.c index 8a0d7ccbc3..b68d414868 100644 --- a/widgets/misc/e-buffer-tagger.c +++ b/widgets/misc/e-buffer-tagger.c @@ -466,30 +466,36 @@ update_ctrl_state (GtkTextView *textview, /* Links can also be activated by clicking. */ static gboolean textview_event_after (GtkTextView *textview, - GdkEvent *ev) + GdkEvent *event) { GtkTextIter start, end, iter; GtkTextBuffer *buffer; - GdkEventButton *event; gint x, y; GdkModifierType mt = 0; + guint event_button = 0; + gdouble event_x_win = 0; + gdouble event_y_win = 0; g_return_val_if_fail (GTK_IS_TEXT_VIEW (textview), FALSE); - if (ev->type == GDK_KEY_PRESS || ev->type == GDK_KEY_RELEASE) { - GdkEventKey *event_key = (GdkEventKey *) ev; + if (event->type == GDK_KEY_PRESS || event->type == GDK_KEY_RELEASE) { + guint event_keyval = 0; - switch (event_key->keyval) { - case GDK_KEY_Control_L: - case GDK_KEY_Control_R: - update_ctrl_state (textview, ev->type == GDK_KEY_PRESS); - break; + gdk_event_get_keyval (event, &event_keyval); + + switch (event_keyval) { + case GDK_KEY_Control_L: + case GDK_KEY_Control_R: + update_ctrl_state ( + textview, + event->type == GDK_KEY_PRESS); + break; } return FALSE; } - if (!gdk_event_get_state (ev, &mt)) { + if (!gdk_event_get_state (event, &mt)) { GdkWindow *window; GdkDisplay *display; GdkDeviceManager *device_manager; @@ -505,12 +511,13 @@ textview_event_after (GtkTextView *textview, update_ctrl_state (textview, (mt & GDK_CONTROL_MASK) != 0); - if (ev->type != GDK_BUTTON_RELEASE) + if (event->type != GDK_BUTTON_RELEASE) return FALSE; - event = (GdkEventButton *) ev; + gdk_event_get_button (event, &event_button); + gdk_event_get_coords (event, &event_x_win, &event_y_win); - if (event->button != 1 || (event->state & GDK_CONTROL_MASK) == 0) + if (event_button != 1 || (mt & GDK_CONTROL_MASK) == 0) return FALSE; buffer = gtk_text_view_get_buffer (textview); @@ -523,7 +530,7 @@ textview_event_after (GtkTextView *textview, gtk_text_view_window_to_buffer_coords ( textview, GTK_TEXT_WINDOW_WIDGET, - event->x, event->y, &x, &y); + event_x_win, event_y_win, &x, &y); gtk_text_view_get_iter_at_location (textview, &iter, x, y); diff --git a/widgets/misc/e-calendar-item.c b/widgets/misc/e-calendar-item.c index 0f38c7b16a..1b1a72281d 100644 --- a/widgets/misc/e-calendar-item.c +++ b/widgets/misc/e-calendar-item.c @@ -188,7 +188,7 @@ static gboolean e_calendar_item_ensure_days_visible gint end_day, gboolean emission); static void e_calendar_item_show_popup_menu (ECalendarItem *calitem, - GdkEventButton *event, + GdkEvent *button_event, gint month_offset); static void e_calendar_item_on_menu_item_activate (GtkWidget *menuitem, @@ -2253,9 +2253,7 @@ e_calendar_item_button_press (ECalendarItem *calitem, if (event->button.button == 3 && day == -1 && e_calendar_item_get_display_popup (calitem)) { e_calendar_item_show_popup_menu ( - calitem, - (GdkEventButton *) event, - month_offset); + calitem, event, month_offset); return TRUE; } @@ -3529,13 +3527,15 @@ deactivate_menu_cb (GtkWidget *menu) static void e_calendar_item_show_popup_menu (ECalendarItem *calitem, - GdkEventButton *event, + GdkEvent *button_event, gint month_offset) { GtkWidget *menu, *submenu, *menuitem, *label; gint year, month; const gchar *name; gchar buffer[64]; + guint event_button = 0; + guint32 event_time; menu = gtk_menu_new (); @@ -3582,10 +3582,13 @@ e_calendar_item_show_popup_menu (ECalendarItem *calitem, menu, "deactivate", G_CALLBACK (deactivate_menu_cb), NULL); + gdk_event_get_button (button_event, &event_button); + event_time = gdk_event_get_time (button_event); + gtk_menu_popup ( GTK_MENU (menu), NULL, NULL, e_calendar_item_position_menu, calitem, - event->button, event->time); + event_button, event_time); } static void diff --git a/widgets/misc/e-dateedit.c b/widgets/misc/e-dateedit.c index 45c4f7148b..e24d4137cb 100644 --- a/widgets/misc/e-dateedit.c +++ b/widgets/misc/e-dateedit.c @@ -161,7 +161,7 @@ static gint on_date_popup_key_press (GtkWidget *widget, GdkEventKey *event, EDateEdit *dedit); static gint on_date_popup_button_press (GtkWidget *widget, - GdkEventButton *event, + GdkEvent *button_event, gpointer data); static void on_date_popup_date_selected (ECalendarItem *calitem, EDateEdit *dedit); @@ -1537,7 +1537,7 @@ on_date_popup_key_press (GtkWidget *widget, * (This function is yanked from gtkcombo.c) */ static gint on_date_popup_button_press (GtkWidget *widget, - GdkEventButton *event, + GdkEvent *button_event, gpointer data) { EDateEdit *dedit; @@ -1545,7 +1545,7 @@ on_date_popup_button_press (GtkWidget *widget, dedit = data; - child = gtk_get_event_widget ((GdkEvent *) event); + child = gtk_get_event_widget (button_event); /* We don't ask for button press events on the grab widget, so * if an event is reported directly to the grab widget, it must diff --git a/widgets/misc/e-map.c b/widgets/misc/e-map.c index 40fe589a8c..ebccf385d7 100644 --- a/widgets/misc/e-map.c +++ b/widgets/misc/e-map.c @@ -722,15 +722,18 @@ static gint e_map_button_press (GtkWidget *widget, GdkEventButton *event) { - if (!gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget); - return TRUE; + if (!gtk_widget_has_focus (widget)) + gtk_widget_grab_focus (widget); + + return TRUE; } static gint e_map_button_release (GtkWidget *widget, GdkEventButton *event) { - if (event->button != 1) return FALSE; + if (event->button != 1) + return FALSE; gdk_pointer_ungrab (event->time); return TRUE; |