View Issue Details

IDProjectCategoryView StatusLast Update
0001807Far ManagerEditorpublic2011-06-24 22:33
ReporterMaximusAssigned ToDrKnS 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.0 
Target VersionFixed in Version3.0 
Summary0001807: Зависание при нажатии в CtrlAltPgUp/CtrlAltPgDn
DescriptionПри отключенном "[ ] Cursor beyond end of line" фар виснет, если попадется строка, короче текущего положения курсора (X).
Steps To Reproduce== begin
abc

def
== end

выделяем блоком "f" и жмем CtrlAltPgUp
TagsNo tags attached.
Build2077

Activities

Maximus

2011-06-22 23:42

reporter  

BlkHung1101622.diff (601 bytes)
Index: editor.cpp
===================================================================
--- editor.cpp	(revision 6350)
+++ editor.cpp	(working copy)
@@ -2440,9 +2440,12 @@
 			Lock();
 			Pasting++;
 
+			Edit* PrevLine = CurLine;
 			while (CurLine!=TopList)
 			{
 				ProcessKey(KEY_ALTUP);
+				if (PrevLine == CurLine)
+					break;
 			}
 
 			Pasting--;
@@ -2456,9 +2459,12 @@
 			Lock();
 			Pasting++;
 
+			Edit* PrevLine = CurLine;
 			while (CurLine!=EndList)
 			{
 				ProcessKey(KEY_ALTDOWN);
+				if (PrevLine == CurLine)
+					break;
 			}
 
 			Pasting--;
BlkHung1101622.diff (601 bytes)

Maximus

2011-06-24 22:15

reporter   bugnote:0007204

недолечил

Maximus

2011-06-24 22:17

reporter  

110624.diff (825 bytes)
Index: editor.cpp
===================================================================
--- editor.cpp	(revision 6352)
+++ editor.cpp	(working copy)
@@ -2440,12 +2440,11 @@
 			Lock();
 			Pasting++;
 
-			Edit* PrevLine = CurLine;
-			while (CurLine!=TopList)
+			Edit* PrevLine = nullptr;
+			while (CurLine!=TopList && PrevLine!=CurLine)
 			{
+				PrevLine = CurLine;
 				ProcessKey(KEY_ALTUP);
-				if (PrevLine == CurLine)
-					break;
 			}
 
 			Pasting--;
@@ -2458,12 +2457,12 @@
 		{
 			Lock();
 			Pasting++;
-			Edit* PrevLine = CurLine;
-			while (CurLine!=EndList)
+
+			Edit* PrevLine = nullptr;
+			while (CurLine!=EndList && PrevLine!=CurLine)
 			{
+				PrevLine = CurLine;
 				ProcessKey(KEY_ALTDOWN);
-				if (PrevLine == CurLine)
-					break;
 			}
 
 			Pasting--;
110624.diff (825 bytes)

Issue History

Date Modified Username Field Change
2011-06-22 23:42 Maximus New Issue
2011-06-22 23:42 Maximus File Added: BlkHung1101622.diff
2011-06-23 17:50 DrKnS Build => 2076
2011-06-23 17:50 DrKnS Status new => closed
2011-06-23 17:50 DrKnS Assigned To => DrKnS
2011-06-23 17:50 DrKnS Resolution open => fixed
2011-06-23 17:50 DrKnS Fixed in Version => 3.0
2011-06-24 22:15 Maximus Note Added: 0007204
2011-06-24 22:15 Maximus Status closed => feedback
2011-06-24 22:15 Maximus Resolution fixed => reopened
2011-06-24 22:17 Maximus File Added: 110624.diff
2011-06-24 22:33 DrKnS Build 2076 => 2077
2011-06-24 22:33 DrKnS Status feedback => closed
2011-06-24 22:33 DrKnS Resolution reopened => fixed