- fixed regression introduced Oct 10th which made Firefox crash

when cancelling the KDE file dialog (boo#1069962)

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=623
This commit is contained in:
Wolfgang Rosenauer 2018-01-03 13:39:46 +00:00 committed by Git OBS Bridge
parent a958854f92
commit b2bf73f33f
3 changed files with 12 additions and 4 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Jan 3 08:29:38 UTC 2018 - wr@rosenauer.org
- fixed regression introduced Oct 10th which made Firefox crash
when cancelling the KDE file dialog (boo#1069962)
-------------------------------------------------------------------
Fri Dec 29 19:52:34 UTC 2017 - astieger@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package MozillaFirefox
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# 2006-2017 Wolfgang Rosenauer
#
# All modifications and additions to the file contributed by third parties

View File

@ -1,5 +1,5 @@
# HG changeset patch
# Parent 87a32e5d11e9d652e331a5f852bb951069b20c4a
# Parent 2504512f9a9ba7b52dd99745d15f049f2a03f4f4
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@ -3275,7 +3275,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
+ 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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
+ queuedPicker->mResult = result;
+ }
+ queuedPicker->mRunning = false;
+ NS_RELEASE(queuedPicker);
+ return G_SOURCE_REMOVE;
+ }, this);
+
@ -3313,7 +3315,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
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;