Make QStyle::proxy() always return the leaf proxy
For example: fusion -> proxy1 -> proxy2 Now returns proxy2. Fixes: QTBUG-85556 Change-Id: I2a60329f948b59ef7d0752d273bee3854a200547 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 61c3f3539c3d2d7dc867c3fef0270a2f5c9ed376) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
7d0cbfc257
commit
1580c84e1a
@ -2401,17 +2401,19 @@ int QStyle::combinedLayoutSpacing(QSizePolicy::ControlTypes controls1,
|
|||||||
const QStyle * QStyle::proxy() const
|
const QStyle * QStyle::proxy() const
|
||||||
{
|
{
|
||||||
Q_D(const QStyle);
|
Q_D(const QStyle);
|
||||||
return d->proxyStyle;
|
return d->proxyStyle == this ? this : d->proxyStyle->proxy();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* \internal
|
/* \internal
|
||||||
|
|
||||||
This function sets the base style that style calls will be
|
This function sets the base style that style calls will be
|
||||||
redirected to. Note that ownership is not transferred.
|
redirected to. Note that ownership is not transferred. \a style
|
||||||
|
must be a valid pointer (not nullptr).
|
||||||
*/
|
*/
|
||||||
void QStyle::setProxy(QStyle *style)
|
void QStyle::setProxy(QStyle *style)
|
||||||
{
|
{
|
||||||
Q_D(QStyle);
|
Q_D(QStyle);
|
||||||
|
Q_ASSERT(style);
|
||||||
d->proxyStyle = style;
|
d->proxyStyle = style;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user