diff options
author | Szabolcs David <davidsz@inf.u-szeged.hu> | 2022-12-19 16:59:44 +0100 |
---|---|---|
committer | Szabolcs David <davidsz@inf.u-szeged.hu> | 2023-01-15 21:33:31 +0100 |
commit | 5734c78ba87b8a6e1070e6a65777b5def0da581d (patch) | |
tree | 7c558006d5776a9987b0a6a5d53b9427cbf4388f /src | |
parent | 59ef2aea9a35500a953aa43c2a4f4fb7acb2fc6b (diff) |
Fix crash in Quick when File System Access dialog accepted
The fileDialogListener was manually released (to avoid its fullscreen
blocking habit), but it doesn't exist if the file picker controller
was originated from the File System Access JS API. Move this operation
inside the proper condition to avoid crash.
Pick-to: 6.4 6.5
Change-Id: Ife5a8451410f91350d280b41203523991f69774f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/file_picker_controller.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/file_picker_controller.cpp b/src/core/file_picker_controller.cpp index e69db7553..6ec7258b9 100644 --- a/src/core/file_picker_controller.cpp +++ b/src/core/file_picker_controller.cpp @@ -201,6 +201,10 @@ void FilePickerController::filesSelectedInChooser(const QStringList &filesList) d_ptr->fileDialogListener->FileSelected( std::move(chooser_files), baseDir, static_cast<blink::mojom::FileChooserParams::Mode>(d_ptr->mode)); + + // release the fileSelectListener manually because it blocks fullscreen requests in chromium + // see QTBUG-106975 + d_ptr->fileDialogListener.reset(); } else if (d_ptr->fileSystemAccessDialogListener) { std::vector<base::FilePath> files; for (const auto &file : std::as_const(filesList)) { @@ -212,10 +216,6 @@ void FilePickerController::filesSelectedInChooser(const QStringList &filesList) else d_ptr->fileSystemAccessDialogListener->MultiFilesSelected(files, nullptr); } - - // release the fileSelectListener manually because it blocks fullscreen requests in chromium - // see QTBUG-106975 - d_ptr->fileDialogListener.reset(); } QStringList FilePickerController::acceptedMimeTypes() const |