diff -r 77c890186192 -r 0e45f8ad501c mozilla-kde.patch --- a/mozilla-kde.patch Sat Nov 11 10:08:36 2017 +0100 +++ b/mozilla-kde.patch Wed Jan 10 22:27:13 2018 +0100 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent 87a32e5d11e9d652e331a5f852bb951069b20c4a +# Parent 2504512f9a9ba7b52dd99745d15f049f2a03f4f4 Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer Author: Lubos Lunak @@ -3275,7 +3275,7 @@ mFilters.AppendElement(filter); mFilterNames.AppendElement(name); -@@ -371,16 +375,37 @@ nsFilePicker::Show(int16_t *aReturn) +@@ -371,16 +375,39 @@ nsFilePicker::Show(int16_t *aReturn) NS_IMETHODIMP nsFilePicker::Open(nsIFilePickerShownCallback *aCallback) @@ -3288,6 +3288,7 @@ + if( nsKDEUtils::kdeSupport()) { + mCallback = aCallback; + mRunning = true; ++ NS_ADDREF_THIS(); + g_idle_add([](gpointer data) -> gboolean { + nsFilePicker* queuedPicker = (nsFilePicker*) data; + int16_t result; @@ -3299,6 +3300,7 @@ + queuedPicker->mResult = result; + } + queuedPicker->mRunning = false; ++ NS_RELEASE(queuedPicker); + return G_SOURCE_REMOVE; + }, this); + @@ -3313,7 +3315,7 @@ GtkFileChooserAction action = GetGtkFileChooserAction(mMode); -@@ -603,8 +628,233 @@ nsFilePicker::Done(GtkWidget* file_choos +@@ -603,8 +630,233 @@ nsFilePicker::Done(GtkWidget* file_choos if (mCallback) { mCallback->Done(result); mCallback = nullptr;