Author: jghali
Date: Thu Apr 12 22:41:45 2018
New Revision: 22468

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22468
Log:
#15260: Crash when trying to select two cell in table with ctrl+shift+right 
arrow

Modified:
    trunk/Scribus/scribus/text/storytext.cpp

Modified: trunk/Scribus/scribus/text/storytext.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22468&path=/trunk/Scribus/scribus/text/storytext.cpp
==============================================================================
--- trunk/Scribus/scribus/text/storytext.cpp    (original)
+++ trunk/Scribus/scribus/text/storytext.cpp    Thu Apr 12 22:41:45 2018
@@ -245,13 +245,16 @@
        if (paragraphStyle().direction() == ParagraphStyle::RTL)
        {
                pos = it->following(pos);
-               if (pos < length() && text(pos).isSpace())
-                       pos += 1;
+               if (pos != BreakIterator::DONE)
+               {
+                       while (pos < length() && text(pos).isSpace())
+                               pos += 1;
+               }
        }
        else
        {
                pos = cursorPosition();
-               if (pos > 0 && text(pos - 1).isSpace())
+               while (pos > 0 && text(pos - 1).isSpace())
                        pos -= 1;
                pos = it->preceding(pos);
        }
@@ -271,15 +274,18 @@
        if (paragraphStyle().direction() == ParagraphStyle::RTL)
        {
                pos = cursorPosition();
-               if (pos > 0 && text(pos - 1).isSpace())
+               while (pos > 0 && text(pos - 1).isSpace())
                        pos -= 1;
                pos = it->preceding(pos);
        }
        else
        {
                pos = it->following(pos);
-               if (pos < length() && text(pos).isSpace())
-                       pos += 1;
+               if (pos != BreakIterator::DONE)
+               {
+                       while (pos < length() && text(pos).isSpace())
+                               pos += 1;
+               }
        }
 
        if (pos != BreakIterator::DONE)


_______________________________________________
scribus-commit mailing list
scribus-commit@lists.scribus.net
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to