From 691c6b9aade05cf75e8e4347ffb531b847f07ecc Mon Sep 17 00:00:00 2001
From: Daniel Carl <danielcarl@gmx.de>
Date: Thu, 16 Oct 2014 15:21:39 +0200
Subject: [PATCH] Leave insert mode when user click a none editable element
 (#114).

---
 src/main.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/main.c b/src/main.c
index 3325072..652b8e6 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1129,7 +1129,13 @@ static gboolean button_relase_cb(WebKitWebView *webview, GdkEventButton *event)
     WebKitHitTestResult *result = webkit_web_view_get_hit_test_result(webview, event);
 
     g_object_get(result, "context", &context, NULL);
-    if (context & WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK) {
+    if (vb.mode->id == 'i' && !(context & WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE)) {
+        /* make sure we leave insert mode if the user click on a none editable
+         * element - make sure the click is processed by webkit for example if
+         * it ws a link */
+        mode_enter('n');
+        propagate = false;
+    } else if (context & WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK) {
         if (event->button == 2 || (event->button == 1 && event->state & GDK_CONTROL_MASK)) {
             /* ctrl click or middle mouse click onto link */
             Arg a = {VB_TARGET_NEW};
-- 
2.20.1