diff options
Diffstat (limited to 'src/widgets/dialogs/qcolordialog.cpp')
-rw-r--r-- | src/widgets/dialogs/qcolordialog.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/widgets/dialogs/qcolordialog.cpp b/src/widgets/dialogs/qcolordialog.cpp index 027470f779..73302be5e3 100644 --- a/src/widgets/dialogs/qcolordialog.cpp +++ b/src/widgets/dialogs/qcolordialog.cpp @@ -1663,6 +1663,12 @@ void QColorDialogPrivate::_q_addCustom() nextCust = (nextCust+1) % 16; } +void QColorDialogPrivate::_q_platformRunNativeAppModalPanel() +{ + if (nativeDialogInUse) + platformHelper()->_q_platformRunNativeAppModalPanel(); +} + void QColorDialogPrivate::retranslateStrings() { if (!smallDisplay) { @@ -1912,8 +1918,11 @@ void QColorDialog::setVisible(bool visible) } #else - if (!(d->opts & DontUseNativeDialog) && qt_guiPlatformPlugin()->colorDialogSetVisible(this, visible)) { - d->nativeDialogInUse = true; + if (!(d->opts & DontUseNativeDialog)) + if (QPlatformDialogHelper *helper = d->platformHelper()) + d->nativeDialogInUse = helper->setVisible_sys(visible); + + if (d->nativeDialogInUse) { // Set WA_DontShowOnScreen so that QDialog::setVisible(visible) below // updates the state correctly, but skips showing the non-native version: setAttribute(Qt::WA_DontShowOnScreen); |