From: Daniel Carl <danielcarl@gmx.de>
Date: Thu, 16 Oct 2014 13:21:39 +0000 (+0200)
Subject: Leave insert mode when user click a none editable element (#114).
X-Git-Url: https://git.owens.tech/assets/editable-focus.html/assets/editable-focus.html/git?a=commitdiff_plain;h=691c6b9aade05cf75e8e4347ffb531b847f07ecc;p=vimb.git

Leave insert mode when user click a none editable element (#114).
---

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};