View Issue Details

IDProjectCategoryView StatusLast Update
0001029ScribusStory Editor / Text Framespublic2008-02-08 20:04
ReporterPedro Gimeno Assigned Tofschmid  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformAthlon XP2000OSLinuxOS VersionDebian Sarge
Product Version 
Target VersionFixed in Version 
Summary0001029: Crash with empty text when pressing left cursor key
DescriptionSimilar to bug 0001028 but happens when the text frame is empty or the text it contains is deleted.
Steps To Reproduce1) Create a text frame
2) Doubleclick it.
3) Press Left.
Additional InformationThe attached patch fixes this issue, which was quite similar in nature to bug 0001028. It also avoids b->Ptext.at() being called with negative argument and removes a redundant line.
TagsNo tags attached.
Patch

Relationships

child of 0003157 acknowledged Metabug: Cursor placement fixes 

Activities

2004-09-04 12:16

 

bug.diff (1,178 bytes)
Index: scribus/scribus.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/scribus.cpp,v
retrieving revision 1.218
diff -u -p -r1.218 scribus.cpp
--- scribus/scribus.cpp	3 Sep 2004 21:01:51 -0000	1.218
+++ scribus/scribus.cpp	4 Sep 2004 12:03:21 -0000
@@ -1642,27 +1642,19 @@ void ScribusApp::keyPressEvent(QKeyEvent
 								}
 							}
 						}
-						if (b->CPos == static_cast<int>(b->Ptext.count()))
+						if ((b->CPos > 0) && (b->CPos == static_cast<int>(b->Ptext.count())))
 						{
 							if (b->Ptext.at(b->CPos-1)->cstyle & 256)
 							{
 								b->CPos -= 1;
-								while (b->Ptext.at(b->CPos)->cstyle & 256)
-								{
+								while ((b->CPos > 0) && (b->Ptext.at(b->CPos)->cstyle & 256))
 									b->CPos--;
-									if (b->CPos == 0)
-										break;
-								}
 							}
 						}
 						else
 						{
-							while ((b->Ptext.at(b->CPos)->cstyle & 256) && (b->CPos > 0))
-							{
+							while ((b->CPos > 0) && (b->Ptext.at(b->CPos)->cstyle & 256))
 								b->CPos--;
-								if (b->CPos == 0)
-									break;
-							}
 						}
 						if ( b->HasSel )
 							doc->ActPage->RefreshItem(b, true);
bug.diff (1,178 bytes)

Pedro Gimeno

2004-09-06 11:55

reporter   ~0002324

The version in the anonymous CVS server does still suffer this bug, despite that ChangeLogCVS claims that it's fixed... That may be caused either by the anonymous server being out of sync or for some other reason. I'm reopening this bug just in case. Please mark it as fixed again if developers' CVS is OK. Sorry for the extra work.

cbradney

2004-09-06 13:45

administrator   ~0002325

File wasnt changed it seems. Franz probably forgot to upload the file to cvs.

Pedro Gimeno

2004-09-07 17:13

reporter   ~0002337

Now it is really solved. Thank you very much.

Issue History

Date Modified Username Field Change
2004-09-04 12:16 Pedro Gimeno New Issue
2004-09-04 12:16 Pedro Gimeno File Added: bug.diff
2004-09-04 12:50 cbradney Status new => assigned
2004-09-04 12:50 cbradney Assigned To => fschmid
2004-09-05 20:52 fschmid Status assigned => resolved
2004-09-05 20:52 fschmid Resolution open => fixed
2004-09-06 11:55 Pedro Gimeno Status resolved => feedback
2004-09-06 11:55 Pedro Gimeno Resolution fixed => reopened
2004-09-06 11:55 Pedro Gimeno Note Added: 0002324
2004-09-06 13:45 cbradney Note Added: 0002325
2004-09-07 17:13 Pedro Gimeno Status feedback => closed
2004-09-07 17:13 Pedro Gimeno Note Added: 0002337
2007-05-23 21:32 christoph_s Relationship added child of 0003157
2008-02-08 20:04 christoph_s Status closed => resolved
2008-02-08 20:04 christoph_s Resolution reopened => fixed
2008-02-08 20:04 christoph_s Status resolved => closed
2015-09-17 20:08 Kunda Category Story Editor / Text Frames => Story Ed/Txt Frames
2015-09-17 20:12 Kunda Category Story Ed/Txt Frames => Story Editor / Text Frames