summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2016-08-23 22:34:21 +0200
committerDavid Faure <david.faure@kdab.com>2016-08-24 20:29:49 +0000
commit35b871b2b67815a320e48c6beef45ce01326f097 (patch)
treeee27e67586495d950a448165d6f4173ba37c0e39 /src/widgets/styles
parent2c5eb3e668ee50fce85c22cf8b64b7d1aa7a936e (diff)
QStyleSheetStyle: don't call pixelMetric when not needed
fixupBorder does nothing when bd is null, i.e. hasBorder() returns false. Change-Id: Ic88e3a793f32bd4ad25830ddad9dbd8100348279 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/widgets/styles')
-rw-r--r--src/widgets/styles/qstylesheetstyle.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp
index cb3c2a410b..568a4755e4 100644
--- a/src/widgets/styles/qstylesheetstyle.cpp
+++ b/src/widgets/styles/qstylesheetstyle.cpp
@@ -996,15 +996,17 @@ QRenderRule::QRenderRule(const QVector<Declaration> &declarations, const QObject
}
}
- if (const QWidget *widget = qobject_cast<const QWidget *>(object)) {
- QStyleSheetStyle *style = const_cast<QStyleSheetStyle *>(globalStyleSheetStyle);
- if (!style)
- style = qobject_cast<QStyleSheetStyle *>(widget->style());
- if (style)
- fixupBorder(style->nativeFrameWidth(widget));
+ if (hasBorder()) {
+ if (const QWidget *widget = qobject_cast<const QWidget *>(object)) {
+ QStyleSheetStyle *style = const_cast<QStyleSheetStyle *>(globalStyleSheetStyle);
+ if (!style)
+ style = qobject_cast<QStyleSheetStyle *>(widget->style());
+ if (style)
+ fixupBorder(style->nativeFrameWidth(widget));
+ }
+ if (border()->hasBorderImage())
+ defaultBackground = QBrush();
}
- if (hasBorder() && border()->hasBorderImage())
- defaultBackground = QBrush();
}
QRect QRenderRule::borderRect(const QRect& r) const