# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1612290926 0 # Node ID ba81894924cbf33b04fd9242d06b34d9930847b3 # Parent d7f0254f7d1e51019b4f8ad64cc6bfdb87f77772 GTK4: Changes to handle the now opaque GdkEvent structure. diff -r d7f0254f7d1e -r ba81894924cb gtk4/dw.c --- a/gtk4/dw.c Tue Feb 02 03:52:56 2021 +0000 +++ b/gtk4/dw.c Tue Feb 02 18:35:26 2021 +0000 @@ -466,9 +466,9 @@ if(work.window) { int (*motionfunc)(HWND, int, int, int, void *) = work.func; + GdkEvent *event = gtk_event_controller_get_current_event(GDK_EVENT_CONTROLLER(controller)); + GdkModifierType state = gdk_event_get_modifier_state(event); int keys = 0; - /* TODO: Fill these in */ - GdkModifierType state = 0; if (state & GDK_BUTTON1_MASK) keys = DW_BUTTON1_MASK; @@ -792,10 +792,13 @@ if(work.window && GTK_IS_WIDGET(work.window)) { GtkWidget *widget = work.window; - - /* Handle both key and button events together */ - if(/* TODO: Fix this...(event->type == GDK_2BUTTON_PRESS && buttonevent->button == 1) || */ - keyval == VK_RETURN) + GdkEvent *event = gtk_event_controller_get_current_event(GDK_EVENT_CONTROLLER(controller)); + gint button = gdk_button_event_get_button(event); + GdkEventType type = gdk_event_get_event_type(event); + + /* TODO: Make sure this works. + Handle both key and button events together */ + if((type == GDK_BUTTON_PRESS && button == 1) || keyval == VK_RETURN) { int (*contextfunc)(HWND, char *, void *, void *) = work.func; char *text = NULL;