summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-02-18 11:27:24 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-02-18 21:53:31 +0100
commit4b42c91821b913aec32ab82d2d5e29ffa2f2a8ad (patch)
treede49246824e9261ad039707ddceacc9842e81187 /src
parent8afd7b4675b2d5bfd0a00981095a6cac6c83e0a4 (diff)
QColorDialog/QFontDialog: Fix setOption().
Call setOptions() such that the option takes effect. Task-number: QTBUG-28817 Change-Id: Ibef834efc988d3ba49e88ea88ef475b1fd7fd98f Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/widgets/dialogs/qcolordialog.cpp5
-rw-r--r--src/widgets/dialogs/qfontdialog.cpp5
2 files changed, 6 insertions, 4 deletions
diff --git a/src/widgets/dialogs/qcolordialog.cpp b/src/widgets/dialogs/qcolordialog.cpp
index 5adb4ba6da..af43ecc8df 100644
--- a/src/widgets/dialogs/qcolordialog.cpp
+++ b/src/widgets/dialogs/qcolordialog.cpp
@@ -1735,8 +1735,9 @@ QColor QColorDialog::selectedColor() const
*/
void QColorDialog::setOption(ColorDialogOption option, bool on)
{
- Q_D(QColorDialog);
- d->options->setOption(static_cast<QColorDialogOptions::ColorDialogOption>(option), on);
+ const QColorDialog::ColorDialogOptions previousOptions = options();
+ if (!(previousOptions & option) != !on)
+ setOptions(previousOptions ^ option);
}
/*!
diff --git a/src/widgets/dialogs/qfontdialog.cpp b/src/widgets/dialogs/qfontdialog.cpp
index 79aab3280f..4036dc80ab 100644
--- a/src/widgets/dialogs/qfontdialog.cpp
+++ b/src/widgets/dialogs/qfontdialog.cpp
@@ -853,8 +853,9 @@ QFont QFontDialog::selectedFont() const
*/
void QFontDialog::setOption(FontDialogOption option, bool on)
{
- Q_D(QFontDialog);
- d->options->setOption(static_cast<QFontDialogOptions::FontDialogOption>(option), on);
+ const QFontDialog::FontDialogOptions previousOptions = options();
+ if (!(previousOptions & option) != !on)
+ setOptions(previousOptions ^ option);
}
/*!