[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kate] /: vi-mode: fix crash when word lefting in insert mode
From: Michal Humpula <michal.humpula () seznam ! cz>
Date: 2013-12-31 19:36:33
Message-ID: E1Vy57B-0006HY-AX () scm ! kde ! org
[Download RAW message or body]
Git commit adf91f91f5d4a93dfed3029196018818e025c559 by Michal Humpula.
Committed on 31/12/2013 at 19:34.
Pushed by michalhumpula into branch 'master'.
vi-mode: fix crash when word lefting in insert mode
M +4 -0 part/vimode/kateviinsertmode.cpp
M +1 -0 tests/vimode_test.cpp
http://commits.kde.org/kate/adf91f91f5d4a93dfed3029196018818e025c559
diff --git a/part/vimode/kateviinsertmode.cpp b/part/vimode/kateviinsertmode.cpp
index d7e55b1..e11eda5 100644
--- a/part/vimode/kateviinsertmode.cpp
+++ b/part/vimode/kateviinsertmode.cpp
@@ -183,6 +183,10 @@ bool KateViInsertMode::commandMoveOneWordLeft()
Cursor c( m_view->cursorPosition() );
c = findPrevWordStart( c.line(), c.column() );
+ if (!c.isValid()) {
+ c = Cursor(0,0);
+ }
+
updateCursor( c );
return true;
}
diff --git a/tests/vimode_test.cpp b/tests/vimode_test.cpp
index 1087222..9bb6e1f 100644
--- a/tests/vimode_test.cpp
+++ b/tests/vimode_test.cpp
@@ -880,6 +880,7 @@ void ViModeTest::InsertModeTests() {
// Testing ctrl-left and ctrl-right.
DoTest("foo bar", "i\\ctrl-\\rightX\\esc", "foo Xbar");
DoTest("foo bar", "i\\ctrl-\\right\\ctrl-\\rightX\\esc", "foo barX");
+ DoTest("foo", "\\endi\\ctrl-\\left\\ctrl-\\leftX", "Xfoo"); // we crashed here before
// Enter/ Return.
DoTest("", "ifoo\\enterbar", "foo\nbar");
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic