mirror of https://github.com/qt/qtbase.git
Fix possible null pointer dereferences.
This follows up 130c2baa93
.
Change-Id: I2f6c9b4f995af427cec9a2162b782039debf8564
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
This commit is contained in:
parent
ccc6d545c2
commit
4f1b6749c3
|
@ -1208,6 +1208,12 @@ bool QIcon::hasThemeIcon(const QString &name)
|
||||||
*/
|
*/
|
||||||
void QIcon::setIsMask(bool isMask)
|
void QIcon::setIsMask(bool isMask)
|
||||||
{
|
{
|
||||||
|
if (!d) {
|
||||||
|
d = new QIconPrivate;
|
||||||
|
d->engine = new QPixmapIconEngine;
|
||||||
|
} else {
|
||||||
|
detach();
|
||||||
|
}
|
||||||
d->is_mask = isMask;
|
d->is_mask = isMask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1222,6 +1228,8 @@ void QIcon::setIsMask(bool isMask)
|
||||||
*/
|
*/
|
||||||
bool QIcon::isMask() const
|
bool QIcon::isMask() const
|
||||||
{
|
{
|
||||||
|
if (!d)
|
||||||
|
return false;
|
||||||
return d->is_mask;
|
return d->is_mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,7 @@ private slots:
|
||||||
void actualSize2_data(); // test with 2 pixmaps with different aspect ratio
|
void actualSize2_data(); // test with 2 pixmaps with different aspect ratio
|
||||||
void actualSize2();
|
void actualSize2();
|
||||||
void isNull();
|
void isNull();
|
||||||
|
void isMask();
|
||||||
void swap();
|
void swap();
|
||||||
void bestMatch();
|
void bestMatch();
|
||||||
void cacheKey();
|
void cacheKey();
|
||||||
|
@ -218,6 +219,20 @@ void tst_QIcon::isNull() {
|
||||||
QVERIFY(iconSupportedFormat.actualSize(QSize(32, 32)).isValid());
|
QVERIFY(iconSupportedFormat.actualSize(QSize(32, 32)).isValid());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QIcon::isMask()
|
||||||
|
{
|
||||||
|
QIcon icon;
|
||||||
|
icon.setIsMask(true);
|
||||||
|
icon.addPixmap(QPixmap());
|
||||||
|
QVERIFY(icon.isMask());
|
||||||
|
|
||||||
|
QIcon icon2;
|
||||||
|
icon2.setIsMask(true);
|
||||||
|
QVERIFY(icon2.isMask());
|
||||||
|
icon2.setIsMask(false);
|
||||||
|
QVERIFY(!icon2.isMask());
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QIcon::swap()
|
void tst_QIcon::swap()
|
||||||
{
|
{
|
||||||
QPixmap p1(1, 1), p2(2, 2);
|
QPixmap p1(1, 1), p2(2, 2);
|
||||||
|
|
Loading…
Reference in New Issue