Author: jghali
Date: Sun Apr 30 21:08:52 2017
New Revision: 22011

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22011
Log:
fix current paragraph style new being shown properly in TP palette when cursor 
is past last character in frame

Modified:
    trunk/Scribus/scribus/pageitem.cpp

Modified: trunk/Scribus/scribus/pageitem.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22011&path=/trunk/Scribus/scribus/pageitem.cpp
==============================================================================
--- trunk/Scribus/scribus/pageitem.cpp  (original)
+++ trunk/Scribus/scribus/pageitem.cpp  Sun Apr 30 21:08:52 2017
@@ -1529,7 +1529,8 @@
                int lastSelected  = qMax(itemText.endOfSelection() - 1, 0);
                cursorPosition = qMax(firstSelected, qMin(cursorPosition, 
lastSelected));
        }
-       if (frameDisplays(cursorPosition))
+       // Note: cursor position can be past last characters, don't use 
frameDisplays() here
+       if (cursorPosition >= 0 && cursorPosition <= itemText.length())
                return itemText.paragraphStyle(cursorPosition);
        return itemText.defaultStyle();
 }
@@ -1544,7 +1545,8 @@
                int lastSelected  = qMax(itemText.endOfSelection() - 1, 0);
                cursorPosition = qMax(firstSelected, qMin(cursorPosition, 
lastSelected));
        }
-       if (frameDisplays(cursorPosition))
+       // Note: cursor position can be past last characters, don't use 
frameDisplays() here
+       if (cursorPosition >= 0 && cursorPosition <= itemText.length())
                return 
const_cast<ParagraphStyle&>(itemText.paragraphStyle(cursorPosition));
        else
                return const_cast<ParagraphStyle&>(itemText.defaultStyle());
@@ -1560,7 +1562,8 @@
                int lastSelected  = qMax(itemText.endOfSelection() - 1, 0);
                cursorPosition = qMax(firstSelected, qMin(cursorPosition, 
lastSelected));
        }
-       if (frameDisplays(cursorPosition))
+       // Note: cursor position can be past last characters, don't use 
frameDisplays() here
+       if (cursorPosition >= 0 && cursorPosition <= itemText.length())
                return itemText.charStyle(cursorPosition);
        else
                return itemText.defaultStyle().charStyle();
@@ -1576,7 +1579,8 @@
        if (itemText.lengthOfSelection() > 0)
                position = qMin(qMax(itemText.endOfSelection() - 1, 0), 
qMax(position, itemText.startOfSelection()));
 
-       if (frameDisplays(position))
+       // Note: cursor position can be past last characters, don't use 
frameDisplays() here
+       if (position >= 0 && position <= itemText.length())
        {
                // Do not use setStyle here otherwise char style properties 
explicitly
                // set at paragraph level without using styles might get lost


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to