aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/misc')
-rw-r--r--widgets/misc/e-buffer-tagger.c35
-rw-r--r--widgets/misc/e-calendar-item.c15
-rw-r--r--widgets/misc/e-dateedit.c6
-rw-r--r--widgets/misc/e-map.c9
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;