]> git.armaanb.net Git - chorizo.git/commitdiff
Connect to button release events instead of button press
authorPeter Hofmann <scm@uninformativ.de>
Wed, 21 Feb 2018 06:42:37 +0000 (07:42 +0100)
committerPeter Hofmann <scm@uninformativ.de>
Wed, 21 Feb 2018 06:42:37 +0000 (07:42 +0100)
By default, WebKit only responds to release events. The old code
listened for press events. That's probably not the right way to do
things. We should properly "override" the release events.

Closes #56.

CHANGES
browser.c

diff --git a/CHANGES b/CHANGES
index 630711a77090478090ee4a2bdb387cceb6711913..5f17c724f47b6c729fa9b816cd2aa9cf445ce6cb 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,11 @@
 Release history for lariza
 
+next
+  [Fixed]
+  - Accidentally opening a context menu and then issuing a middle click
+    to open a new tab no longer changes the location of the original tab
+    (fixes #56). (This only happened under certain circumstances.)
+
 v18.01  2018-01-27
   [Fixed]
   - Compilation warnings regarding deprecated API calls (GtkAction) have
index 23a8418e2ce4cdfb5cfd7efc302ced8d84f31bc5..68d190b54305a29e2650df3109619435a6c7bf59 100644 (file)
--- a/browser.c
+++ b/browser.c
@@ -179,7 +179,7 @@ client_new(const gchar *uri, WebKitWebView *related_wv, gboolean show)
                      G_CALLBACK(decide_policy), NULL);
     g_signal_connect(G_OBJECT(c->web_view), "key-press-event",
                      G_CALLBACK(key_web_view), c);
-    g_signal_connect(G_OBJECT(c->web_view), "button-press-event",
+    g_signal_connect(G_OBJECT(c->web_view), "button-release-event",
                      G_CALLBACK(key_web_view), c);
     g_signal_connect(G_OBJECT(c->web_view), "scroll-event",
                      G_CALLBACK(key_web_view), c);
@@ -814,7 +814,7 @@ key_web_view(GtkWidget *widget, GdkEvent *event, gpointer data)
             gtk_entry_set_progress_fraction(GTK_ENTRY(c->location), 0);
         }
     }
-    else if (event->type == GDK_BUTTON_PRESS)
+    else if (event->type == GDK_BUTTON_RELEASE)
     {
         switch (((GdkEventButton *)event)->button)
         {