瀏覽代碼

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

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Ngo Iok Ui (Wu Yu Wei) 4 年之前
父節點
當前提交
94dbc96c97
共有 1 個文件被更改,包括 6 次插入9 次删除
  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) => {