Fix Qt6 todo in qcssparser
Colors with wrong number of elements are now invalid. Change-Id: I32c934894de86095d9790baa5f0d2001d76bcd3c Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Lars Knoll <lars.knoll@qt.io>bb10
parent
df4cbaf8dc
commit
7c1f94f387
|
|
@ -770,11 +770,14 @@ static ColorData parseColorValue(QCss::Value v)
|
|||
if (tokenCount < 5)
|
||||
return ColorData();
|
||||
|
||||
// ### Qt6: replace this with a check and return invalid color when token count does not match
|
||||
if (hasAlpha && tokenCount != 7)
|
||||
if (hasAlpha && tokenCount != 7) {
|
||||
qWarning("QCssParser::parseColorValue: Specified color with alpha value but no alpha given: '%s'", qPrintable(lst.join(QLatin1Char(' '))));
|
||||
if (!hasAlpha && tokenCount != 5)
|
||||
return ColorData();
|
||||
}
|
||||
if (!hasAlpha && tokenCount != 5) {
|
||||
qWarning("QCssParser::parseColorValue: Specified color without alpha value but alpha given: '%s'", qPrintable(lst.join(QLatin1Char(' '))));
|
||||
return ColorData();
|
||||
}
|
||||
|
||||
int v1 = colorDigits.at(0).variant.toInt();
|
||||
int v2 = colorDigits.at(2).variant.toInt();
|
||||
|
|
|
|||
|
|
@ -860,9 +860,8 @@ void tst_QCssParser::colorValue_data()
|
|||
QTest::newRow("role2") << "color: palette( window-text ) " << qApp->palette().color(QPalette::WindowText);
|
||||
QTest::newRow("transparent") << "color: transparent" << QColor(Qt::transparent);
|
||||
|
||||
// ### Qt6: no longer valid
|
||||
QTest::newRow("rgb-invalid") << "color: rgb(10, 20, 30, 40)" << QColor(10, 20, 30, 40);
|
||||
QTest::newRow("rgba-invalid") << "color: rgba(10, 20, 30)" << QColor(10, 20, 30, 255);
|
||||
QTest::newRow("rgb-invalid") << "color: rgb(10, 20, 30, 40)" << QColor();
|
||||
QTest::newRow("rgba-invalid") << "color: rgba(10, 20, 30)" << QColor();
|
||||
}
|
||||
|
||||
void tst_QCssParser::colorValue()
|
||||
|
|
|
|||
Loading…
Reference in New Issue