From 96537c10b6d68e0f5122a19ce81cd8dfe508e27e Mon Sep 17 00:00:00 2001
From: Vincent Texier <vit@free.fr>
Date: Thu, 4 Jan 2018 15:17:52 +0100
Subject: [PATCH] Fix QAsyncFileDialog crash only for linux platform #620

Normal Qfiledialog is ok, but async Qfiledialog does not work on linux platform if
DontUseNativeDialog=True
---
 src/sakia/gui/widgets/dialogs.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/sakia/gui/widgets/dialogs.py b/src/sakia/gui/widgets/dialogs.py
index 8ffd0fb5..529f7cc5 100644
--- a/src/sakia/gui/widgets/dialogs.py
+++ b/src/sakia/gui/widgets/dialogs.py
@@ -1,3 +1,4 @@
+import sys
 from PyQt5.QtWidgets import QMessageBox, QFileDialog
 import asyncio
 
@@ -13,7 +14,9 @@ class QAsyncFileDialog:
     @staticmethod
     async def get_save_filename(parent, title, url, filtr):
         dialog = QFileDialog(parent, title, url, filtr)
-        #dialog.setOption(QFileDialog.DontUseNativeDialog, True)
+        # Fix linux crash if not native QFileDialog is async...
+        if sys.platform != 'linux':
+            dialog.setOption(QFileDialog.DontUseNativeDialog, True)
         dialog.setAcceptMode(QFileDialog.AcceptSave)
         result = await dialog_async_exec(dialog)
         if result == QFileDialog.AcceptSave:
-- 
GitLab