Mercurial > dwindows
changeset 2308:a9018bd91d04
GTK4: Fix DW_SIGNAL_ITEM_ENTER callbacks via the keyboard. Remove mouse
warning... however the mouse isn't working so might need a second callback.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 10 Feb 2021 09:04:55 +0000 |
parents | 46e60dca8285 |
children | e238178186ff |
files | gtk4/dw.c |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/gtk4/dw.c Wed Feb 10 08:28:32 2021 +0000 +++ b/gtk4/dw.c Wed Feb 10 09:04:55 2021 +0000 @@ -45,7 +45,7 @@ #endif /* Macros to encapsulate running functions on the main thread - * #define _DW_SINGLE_THREADED to disable thread safety encapulation. + * #define _DW_SINGLE_THREADED to disable thread safety encapsulation. * Parameters converted to a pointer array: * [0] Pointer to the thread's event semaphore * [1] Pointer to the funtion's return value @@ -1076,10 +1076,11 @@ if(work.window && GTK_IS_WIDGET(work.window)) { - GtkWidget *widget = work.window; + GtkWidget *widget = GTK_WIDGET(g_object_get_data(G_OBJECT(work.window), "_dw_user")); GdkEvent *event = gtk_event_controller_get_current_event(GTK_EVENT_CONTROLLER(controller)); GdkEventType type = gdk_event_get_event_type(event); - gint button = gdk_button_event_get_button(event); + gint button = (type == GDK_BUTTON_PRESS) ? gdk_button_event_get_button(event) : -1; + /* TODO: Make sure this works. Handle both key and button events together */