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 */