fix: param passed to showSaveDialogSync on Linux (#42677)

fix: pass correct param to sync functions on Linux

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
trop[bot] 2024-06-27 14:38:41 +02:00 committed by GitHub
parent 5adb5ff680
commit b7710d1ac9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -207,9 +207,6 @@ class FileChooserDialog : public ui::SelectFileDialog::Listener {
bool ShowOpenDialogSync(const DialogSettings& settings,
std::vector<base::FilePath>* paths) {
v8::Isolate* isolate = electron::JavascriptEnvironment::GetIsolate();
gin_helper::Promise<gin_helper::Dictionary> promise(isolate);
base::RunLoop run_loop(base::RunLoop::Type::kNestableTasksAllowed);
auto cb = base::BindOnce(
[](base::RepeatingClosure cb, std::vector<base::FilePath>* file_paths,
@ -221,7 +218,6 @@ bool ShowOpenDialogSync(const DialogSettings& settings,
FileChooserDialog* dialog = new FileChooserDialog();
dialog->RunOpenDialog(std::move(cb), settings);
run_loop.Run();
return !paths->empty();
}
@ -234,8 +230,6 @@ void ShowOpenDialog(const DialogSettings& settings,
bool ShowSaveDialogSync(const DialogSettings& settings, base::FilePath* path) {
base::RunLoop run_loop(base::RunLoop::Type::kNestableTasksAllowed);
v8::Isolate* isolate = electron::JavascriptEnvironment::GetIsolate();
gin_helper::Promise<gin_helper::Dictionary> promise(isolate);
auto cb = base::BindOnce(
[](base::RepeatingClosure cb, base::FilePath* file_path,
gin_helper::Dictionary result) {
@ -245,7 +239,7 @@ bool ShowSaveDialogSync(const DialogSettings& settings, base::FilePath* path) {
run_loop.QuitClosure(), path);
FileChooserDialog* dialog = new FileChooserDialog();
dialog->RunSaveDialog(std::move(promise), settings);
dialog->RunSaveDialog(std::move(cb), settings);
run_loop.Run();
return !path->empty();
}