From 35a6d7902634081ecb6fc8bafe91f5ccf3440f47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Aum=C3=BCller?= <aumuell@reserv.at>
Date: Thu, 21 Jan 2010 17:38:24 +0100
Subject: [PATCH] fakevim: reset command mode state after pressing ESC

Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
---
 src/plugins/fakevim/fakevimhandler.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index f924eb37718..b021f061bd8 100755
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -285,6 +285,7 @@ public:
     EventResult handleRegisterMode(int key, int unmodified, const QString &text);
     EventResult handleMiniBufferModes(int key, int unmodified, const QString &text);
     void finishMovement(const QString &text = QString());
+    void resetCommandMode();
     void search(const QString &needle, bool forward);
     void highlightMatches(const QString &needle);
     void stopIncrementalFind();
@@ -872,6 +873,11 @@ void FakeVimHandler::Private::finishMovement(const QString &dotCommand)
         updateMiniBuffer();
     }
 
+    resetCommandMode();
+}
+
+void FakeVimHandler::Private::resetCommandMode()
+{
     m_movetype = MoveInclusive;
     m_mvcount.clear();
     m_opcount.clear();
@@ -1752,6 +1758,8 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
             m_submode = NoSubMode;
             m_subsubmode = NoSubSubMode;
             finishMovement();
+        } else {
+            resetCommandMode();
         }
     } else {
         //qDebug() << "IGNORED IN COMMAND MODE: " << key << text
-- 
GitLab