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