diff -r 0c59a30173da -r a71985fab8e5 mozilla-kde.patch --- a/mozilla-kde.patch Sat Dec 16 13:35:25 2017 +0100 +++ b/mozilla-kde.patch Wed Jan 03 09:18:16 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_THIS(); + 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;