diff options
author | axis <qt-info@nokia.com> | 2009-05-20 11:44:05 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2009-05-20 11:44:05 (GMT) |
commit | 91e041fcff000024e619de5d7561ce141cb99d99 (patch) | |
tree | 0fc7285a4a1634f6a74499c324d00b6aef181974 /src/gui/kernel/qwidget.cpp | |
parent | d68629e4cfb94776b8ef02cd01cf0b02bf430db8 (diff) | |
parent | 25f86fbab2e7d23832b0bb8ae8530289258e2aa5 (diff) | |
download | Qt-91e041fcff000024e619de5d7561ce141cb99d99.zip Qt-91e041fcff000024e619de5d7561ce141cb99d99.tar.gz Qt-91e041fcff000024e619de5d7561ce141cb99d99.tar.bz2 |
Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt
Conflicts:
tests/auto/network-settings.h
tests/auto/qhttpsocketengine/tst_qhttpsocketengine.cpp
tests/auto/qiodevice/tst_qiodevice.cpp
tests/auto/qnativesocketengine/tst_qnativesocketengine.cpp
tests/auto/qsocks5socketengine/tst_qsocks5socketengine.cpp
tests/auto/qsslsocket/tst_qsslsocket.cpp
Diffstat (limited to 'src/gui/kernel/qwidget.cpp')
-rw-r--r-- | src/gui/kernel/qwidget.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 06f618d..dae4179 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -2361,13 +2361,26 @@ void QWidgetPrivate::setStyle_helper(QStyle *newStyle, bool propagate, bool ) { Q_Q(QWidget); - createExtra(); - QStyle *oldStyle = q->style(); #ifndef QT_NO_STYLE_STYLESHEET - QStyle *origStyle = extra->style; + QStyle *origStyle = 0; +#endif + +#ifdef Q_WS_MAC + // the metalhack boolean allows Qt/Mac to do a proper re-polish depending + // on how the Qt::WA_MacBrushedMetal attribute is set. It is only ever + // set when changing that attribute and passes the widget's CURRENT style. + // therefore no need to do a reassignment. + if (!metalHack) #endif - extra->style = newStyle; + { + createExtra(); + +#ifndef QT_NO_STYLE_STYLESHEET + origStyle = extra->style; +#endif + extra->style = newStyle; + } // repolish if (q->windowType() != Qt::Desktop) { @@ -6287,7 +6300,7 @@ QByteArray QWidget::saveGeometry() const returns false. If the restored geometry is off-screen, it will be modified to be - inside the the available screen geometry. + inside the available screen geometry. To restore geometry saved using QSettings, you can use code like this: |