Przeglądaj źródła

fix(dialog): modal stuck on Linux (#2012)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Ngo Iok Ui (Wu Yu Wei) 4 lat temu
rodzic
commit
94dbc96c97
1 zmienionych plików z 6 dodań i 9 usunięć
  1. 6 9
      core/tauri/src/endpoints.rs

+ 6 - 9
core/tauri/src/endpoints.rs

@@ -113,17 +113,14 @@ impl Module {
           .and_then(|r| r.json)
           .map_err(InvokeError::from)
       }),
-      // on Linux, the dialog must run on the main thread.
+      // on Linux, the dialog must run on the rpc task.
       #[cfg(target_os = "linux")]
       Self::Dialog(cmd) => {
-        let window_ = window.clone();
-        let _ = window.run_on_main_thread(move || {
-          resolver.respond_closure(move || {
-            cmd
-              .run(window_)
-              .and_then(|r| r.json)
-              .map_err(InvokeError::from)
-          })
+        resolver.respond_closure(move || {
+          cmd
+            .run(window)
+            .and_then(|r| r.json)
+            .map_err(InvokeError::from)
         });
       }
       Self::Cli(cmd) => {