[balsa] mblist: Stop using direct access to GdkEvent
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] mblist: Stop using direct access to GdkEvent
- Date: Sat, 6 Jun 2020 19:04:21 +0000 (UTC)
commit da425a4faf325812bc0bbed06e4dae2006027585
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Sat Jun 6 14:21:22 2020 -0400
mblist: Stop using direct access to GdkEvent
Use GdkEvent getters instead of directly accessing fields.
* src/balsa-mblist.c (bmbl_select_mailbox), (bmbl_mru_selected_cb):
ChangeLog | 8 ++++++++
src/balsa-mblist.c | 31 +++++++++++++++++++++----------
2 files changed, 29 insertions(+), 10 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index d31e6a972..bed56837f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2020-06-06 Peter Bloomfield <pbloomfield bellsouth net>
+
+ mblist: Stop using direct access to GdkEvent structs
+
+ Use GdkEvent getters instead of directly accessing fields.
+
+ * src/balsa-mblist.c (bmbl_select_mailbox), (bmbl_mru_selected_cb):
+
2020-06-06 Peter Bloomfield <pbloomfield bellsouth net>
compose window: Connect to the "pressed" signal of a
diff --git a/src/balsa-mblist.c b/src/balsa-mblist.c
index cb12f94da..fc9f81e58 100644
--- a/src/balsa-mblist.c
+++ b/src/balsa-mblist.c
@@ -867,8 +867,10 @@ bmbl_select_mailbox(GtkTreeSelection * selection, gpointer data)
GtkTreeModel *model =
gtk_tree_view_get_model(tree_view);
GtkTreePath *path;
+ guint button;
+ gdouble x_win, y_win;
- if (!event) {
+ if (event == NULL) {
GtkTreeIter iter;
if (gtk_tree_selection_get_selected(selection, NULL, &iter)) {
@@ -886,20 +888,23 @@ bmbl_select_mailbox(GtkTreeSelection * selection, gpointer data)
g_signal_handlers_block_by_func(selection, bmbl_select_mailbox, NULL);
gtk_tree_selection_unselect_all(selection);
g_signal_handlers_unblock_by_func(selection, bmbl_select_mailbox, NULL);
+
return;
}
- if (event->type != GDK_BUTTON_PRESS
+
+ if (gdk_event_get_event_type(event) != GDK_BUTTON_PRESS
/* keyboard navigation */
- || event->button.button != 1
+ || !gdk_event_get_button(event, &button) || button != 1
/* soft select */
- || event->button.window != gtk_tree_view_get_bin_window(tree_view)
+ || gdk_event_get_window(event) != gtk_tree_view_get_bin_window(tree_view)
/* click on a different widget */ ) {
gdk_event_free(event);
+
return;
}
- if (!gtk_tree_view_get_path_at_pos(tree_view, event->button.x,
- event->button.y, &path,
+ if (!gdk_event_get_coords(event, &x_win, &y_win) ||
+ !gtk_tree_view_get_path_at_pos(tree_view, (gint) x_win, (gint) y_win, &path,
NULL, NULL, NULL)) {
/* GtkTreeView selects the first node in the tree when the
* widget first gets the focus, whether it's a keyboard event or
@@ -1916,19 +1921,25 @@ bmbl_mru_selected_cb(GtkTreeSelection * selection, gpointer data)
{
GdkEvent *event;
GtkTreeView *tree_view;
+ gdouble x_win, y_win;
GtkTreePath *path;
if (!data)
return;
event = gtk_get_current_event();
- if (!event)
+ if (event == NULL)
+ return;
+
+ if (gdk_event_get_event_type(event) != GDK_BUTTON_PRESS ||
+ !gdk_event_get_coords(event, &x_win, &y_win)) {
+ gdk_event_free(event);
return;
+ }
tree_view = gtk_tree_selection_get_tree_view(selection);
- if (event->type != GDK_BUTTON_PRESS ||
- !gtk_tree_view_get_path_at_pos(tree_view, event->button.x,
- event->button.y, &path,
+
+ if (!gtk_tree_view_get_path_at_pos(tree_view, (gint) x_win, (gint) y_win, &path,
NULL, NULL, NULL)) {
gtk_tree_selection_unselect_all(selection);
gdk_event_free(event);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]