commit 6e68af115d24a11ca4135b7a620b68743eff2aa7
Author:     Quentin Rameau <[email protected]>
AuthorDate: Sun Nov 22 02:10:18 2015 +0100
Commit:     Quentin Rameau <[email protected]>
CommitDate: Sun Nov 22 02:10:18 2015 +0100

    Correct and simplify buttonreleased() gdk event
    
    The passed event is a GdkEvent (or GdkEventButton), but not a
    GdkEventKey.
    Access the struct directly.

diff --git a/surf.c b/surf.c
index 610aff2..d8a2ef6 100644
--- a/surf.c
+++ b/surf.c
@@ -130,7 +130,7 @@ static void cleanup(void);
 static WebKitWebView *newview(Client *c, WebKitWebView *rv);
 static GtkWidget *createview(WebKitWebView *v, WebKitNavigationAction *a,
                              Client *c);
-static gboolean buttonreleased(GtkWidget *w, GdkEventKey *e, Client *c);
+static gboolean buttonreleased(GtkWidget *w, GdkEvent *e, Client *c);
 static gboolean keypress(GtkAccelGroup *group, GObject *obj, guint key,
                          GdkModifierType mods, Client *c);
 static GdkFilterReturn processx(GdkXEvent *xevent, GdkEvent *event,
@@ -813,18 +813,17 @@ createview(WebKitWebView *v, WebKitNavigationAction *a, 
Client *c)
 }
 
 gboolean
-buttonreleased(GtkWidget *w, GdkEventKey *e, Client *c)
+buttonreleased(GtkWidget *w, GdkEvent *e, Client *c)
 {
        WebKitHitTestResultContext element;
-       GdkEventButton *eb = (GdkEventButton*)e;
        int i;
 
        element = webkit_hit_test_result_get_context(c->mousepos);
 
        for (i = 0; i < LENGTH(buttons); ++i) {
                if (element & buttons[i].target &&
-                   eb->button == buttons[i].button &&
-                   CLEANMASK(eb->state) == CLEANMASK(buttons[i].mask) &&
+                   e->button.button == buttons[i].button &&
+                   CLEANMASK(e->button.state) == CLEANMASK(buttons[i].mask) &&
                    buttons[i].func) {
                        buttons[i].func(c, &buttons[i].arg, c->mousepos);
                        return buttons[i].stopevent;

Reply via email to