Author: jghali
Date: Wed Apr  3 21:23:41 2019
New Revision: 22925

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22925
Log:
Add more error checks in createCharStyle() vs specified fill and stroke colors

Modified:
    trunk/Scribus/scribus/plugins/scriptplugin/cmdstyle.cpp

Modified: trunk/Scribus/scribus/plugins/scriptplugin/cmdstyle.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22925&path=/trunk/Scribus/scribus/plugins/scriptplugin/cmdstyle.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/cmdstyle.cpp     (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/cmdstyle.cpp     Wed Apr  3 
21:23:41 2019
@@ -145,7 +145,21 @@
 
        if (!ScCore->primaryMainWindow()->doc->AllFonts->contains(RealFont))
        {
-               PyErr_SetString(PyExc_ValueError, QObject::tr("Specified font 
is not available in font list.", "python error").toLocal8Bit().constData());
+               PyErr_SetString(PyExc_ValueError, QObject::tr("Specified font 
is not available.", "python error").toLocal8Bit().constData());
+               return nullptr;
+       }
+
+       const ColorList& docColors = 
ScCore->primaryMainWindow()->doc->PageColors;
+       QString qFillColor = QString(FillColor);
+       QString qStrokeColor = QString(StrokeColor);
+       if ((qFillColor != CommonStrings::None) && 
(!docColors.contains(qFillColor)))
+       {
+               PyErr_SetString(PyExc_ValueError, QObject::tr("Specified fill 
color is not available in document.", "python 
error").toLocal8Bit().constData());
+               return nullptr;
+       }
+       if ((qStrokeColor != CommonStrings::None) && 
(!docColors.contains(qStrokeColor)))
+       {
+               PyErr_SetString(PyExc_ValueError, QObject::tr("Specified stroke 
color is not available in document.", "python 
error").toLocal8Bit().constData());
                return nullptr;
        }
 
@@ -157,9 +171,9 @@
        TmpCharStyle.setFontSize(FontSize * 10);
        TmpCharStyle.setFontFeatures(FontFeatures);
        TmpCharStyle.setFeatures(FeaturesList);
-       TmpCharStyle.setFillColor(QString(FillColor));
+       TmpCharStyle.setFillColor(qFillColor);
        TmpCharStyle.setFillShade(FillShade * 100);
-       TmpCharStyle.setStrokeColor(QString(StrokeColor));
+       TmpCharStyle.setStrokeColor(qStrokeColor);
        TmpCharStyle.setStrokeShade(StrokeShade * 100);
        TmpCharStyle.setBaselineOffset(BaselineOffset);
        TmpCharStyle.setShadowXOffset(ShadowXOffset);


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

Reply via email to