[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/apps/konsole/src
From:       Robert Knight <robertknight () gmail ! com>
Date:       2008-01-01 1:25:47
Message-ID: 1199150747.003584.6568.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 755308 by knight:

Fix some problems with double width characters.  A while() loop was re-written in a \
way which introduced a dependancy on a variable (cuX) without taking into account \
that it was modified just before entering the loop.  Introduce a temporary and move \
the variable assignment to after the loop.

 M  +3 -6      Screen.cpp  


--- trunk/KDE/kdebase/apps/konsole/src/Screen.cpp #755307:755308
@@ -785,11 +785,9 @@
 
   lastPos = loc(cuX,cuY);
 
-  // // check if selection is still valid.
+  // check if selection is still valid.
   checkSelection(cuX,cuY);
 
-  
-
   Character& currentChar = screenLines[cuY][cuX];
 
   currentChar.character = c;
@@ -798,9 +796,7 @@
   currentChar.rendition = ef_re;
 
   int i = 0;
-
-  cuX += w--;
-
+  int newCursorX = cuX + w--;
   while(w)
   {
      i++;
@@ -816,6 +812,7 @@
 
      w--;
   }
+  cuX = newCursorX;
 }
 
 void Screen::compose(const QString& /*compose*/)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic