aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickdialogs/quickdialogsquickimpl/qquickdialogimplfactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickdialogs/quickdialogsquickimpl/qquickdialogimplfactory.cpp')
-rw-r--r--src/quickdialogs/quickdialogsquickimpl/qquickdialogimplfactory.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/quickdialogs/quickdialogsquickimpl/qquickdialogimplfactory.cpp b/src/quickdialogs/quickdialogsquickimpl/qquickdialogimplfactory.cpp
index 594b148528..4cd0fa73af 100644
--- a/src/quickdialogs/quickdialogsquickimpl/qquickdialogimplfactory.cpp
+++ b/src/quickdialogs/quickdialogsquickimpl/qquickdialogimplfactory.cpp
@@ -29,25 +29,35 @@ std::unique_ptr<QPlatformDialogHelper> QQuickDialogImplFactory::createPlatformDi
std::unique_ptr<QPlatformDialogHelper> dialogHelper;
switch (type) {
case QQuickDialogType::ColorDialog: {
- dialogHelper.reset(new QQuickPlatformColorDialog(parent));
+ auto *quickPlatformDialog = new QQuickPlatformColorDialog(parent);
+ if (quickPlatformDialog->isValid())
+ dialogHelper.reset(quickPlatformDialog);
break;
}
#if QT_CONFIG(quick_listview)
case QQuickDialogType::FileDialog: {
- dialogHelper.reset(new QQuickPlatformFileDialog(parent));
+ auto *quickPlatformDialog = new QQuickPlatformFileDialog(parent);
+ if (quickPlatformDialog->isValid())
+ dialogHelper.reset(quickPlatformDialog);
break;
}
case QQuickDialogType::FolderDialog: {
- dialogHelper.reset(new QQuickPlatformFolderDialog(parent));
+ auto *quickPlatformDialog = new QQuickPlatformFolderDialog(parent);
+ if (quickPlatformDialog->isValid())
+ dialogHelper.reset(quickPlatformDialog);
break;
}
case QQuickDialogType::FontDialog: {
- dialogHelper.reset(new QQuickPlatformFontDialog(parent));
+ auto *quickPlatformDialog = new QQuickPlatformFontDialog(parent);
+ if (quickPlatformDialog->isValid())
+ dialogHelper.reset(quickPlatformDialog);
break;
}
#endif
case QQuickDialogType::MessageDialog: {
- dialogHelper.reset(new QQuickPlatformMessageDialog(parent));
+ auto *quickPlatformDialog = new QQuickPlatformMessageDialog(parent);
+ if (quickPlatformDialog->isValid())
+ dialogHelper.reset(quickPlatformDialog);
break;
}
default: