Added fix for rhbz#1332821 - Crash on Select in Open

This commit is contained in:
Martin Stransky 2016-05-12 12:21:15 +02:00
parent ae58f17d84
commit 63d497b625
2 changed files with 12 additions and 11 deletions

View File

@ -92,7 +92,7 @@
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 46.0.1
Release: 3%{?pre_tag}%{?dist}
Release: 4%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Group: Applications/Internet
@ -272,7 +272,9 @@ cd %{tarballdir}
%patch215 -p1 -b .addons
%patch219 -p2 -b .rhbz-1173156
%patch221 -p2 -b .fedora-ua
%if 0%{?fedora} > 22
%patch223 -p1 -b .appchooser-crash
%endif
%patch224 -p1 -b .1170092
%if 0%{?fedora} > 23
%patch304 -p2 -b .1253216
@ -803,6 +805,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Thu May 12 2016 Martin Stransky <stransky@redhat.com> - 46.0.1-4
- Added fix for rhbz#1332821 - Crash on "Select" in "Open with" dialog
* Tue May 10 2016 Martin Stransky <stransky@redhat.com> - 46.0.1-3
- Added patch for rhbz#1332875 - new Samba auth reponse

View File

@ -1,18 +1,14 @@
diff -up firefox-44.0/widget/gtk/nsApplicationChooser.cpp.appchooser-crash firefox-44.0/widget/gtk/nsApplicationChooser.cpp
--- firefox-44.0/widget/gtk/nsApplicationChooser.cpp.appchooser-crash 2016-01-24 00:23:50.000000000 +0100
+++ firefox-44.0/widget/gtk/nsApplicationChooser.cpp 2016-02-03 17:17:50.891127905 +0100
@@ -112,7 +112,13 @@ void nsApplicationChooser::Done(GtkWidge
diff -up firefox-46.0.1/widget/gtk/nsApplicationChooser.cpp.appchooser-crash firefox-46.0.1/widget/gtk/nsApplicationChooser.cpp
--- firefox-46.0.1/widget/gtk/nsApplicationChooser.cpp.appchooser-crash 2016-05-03 07:31:12.000000000 +0200
+++ firefox-46.0.1/widget/gtk/nsApplicationChooser.cpp 2016-05-12 12:17:44.043729262 +0200
@@ -112,7 +112,9 @@ void nsApplicationChooser::Done(GtkWidge
// A "response" signal won't be sent again but "destroy" will be.
g_signal_handlers_disconnect_by_func(chooser, FuncToGpointer(OnDestroy), this);
- gtk_widget_destroy(chooser);
+ // GTK 3.18 has a problem with destroying dialog at this stage for some reason.
+ // GTK >= 3.18 has a problem with destroying dialog at this stage for some reason.
+ // We're going to hide the dialog in this case as a workaround.
+ if (gtk_major_version == 3 && gtk_minor_version == 18) {
+ gtk_widget_hide(chooser);
+ } else {
+ gtk_widget_destroy(chooser);
+ }
+ gtk_widget_hide(chooser);
if (mCallback) {
mCallback->Done(localHandler);