diff -r 3a2c95022db2 -r 28ebbea625bd mozilla-kde.patch --- a/mozilla-kde.patch Fri Mar 22 10:02:25 2024 +0100 +++ b/mozilla-kde.patch Sun Apr 21 06:46:25 2024 +0200 @@ -283,7 +283,7 @@ nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { // dbus prevents us from being threadsafe, but this routine should not block // anyhow -@@ -391,21 +395,46 @@ nsresult nsUnixSystemProxySettings::GetP +@@ -388,21 +392,46 @@ nsresult nsUnixSystemProxySettings::GetP return NS_OK; } @@ -1255,15 +1255,15 @@ mFilters.AppendElement(filter); mFilterNames.AppendElement(name); -@@ -412,16 +416,39 @@ nsresult nsFilePicker::Show(nsIFilePicke - return NS_OK; - } - - NS_IMETHODIMP +@@ -416,16 +420,39 @@ NS_IMETHODIMP nsFilePicker::Open(nsIFilePickerShownCallback* aCallback) { // Can't show two dialogs concurrently with the same filepicker if (mFileChooser) return NS_ERROR_NOT_AVAILABLE; + if (MaybeBlockFilePicker(aCallback)) { + return NS_OK; + } + + // KDE file picker is not handled via callback + if (nsKDEUtils::kdeSupport()) { + mCallback = aCallback; @@ -1295,7 +1295,7 @@ GtkFileChooserAction action = GetGtkFileChooserAction(mMode); const gchar* accept_button; -@@ -703,16 +730,215 @@ void nsFilePicker::Done(void* file_choos +@@ -707,16 +734,215 @@ void nsFilePicker::Done(void* file_choos mCallback->Done(result); mCallback = nullptr; } else { @@ -1670,13 +1670,13 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build --- a/xpcom/components/moz.build +++ b/xpcom/components/moz.build -@@ -66,16 +66,17 @@ LOCAL_INCLUDES += [ - "!..", +@@ -67,16 +67,17 @@ LOCAL_INCLUDES += [ "../base", "../build", "../ds", "/chrome", "/js/xpconnect/loader", + "/js/xpconnect/src", "/layout/build", "/modules/libjar", + "/toolkit/xre",