summaryrefslogtreecommitdiff
path: root/mozilla-1097592.patch
diff options
context:
space:
mode:
authorMartin Stransky <stransky@anakreon.cz>2014-12-12 11:18:14 +0100
committerMartin Stransky <stransky@anakreon.cz>2014-12-12 11:18:14 +0100
commit02e8ef68f3427369c61ab54f95f54a50db8db930 (patch)
tree47145c6153b3da969a108270809396ede03c0dd8 /mozilla-1097592.patch
parentDisabled Gtk3 on Fedora 21 and earlier (rhbz#1172926) (diff)
downloadlibrewolf-fedora-ff-02e8ef68f3427369c61ab54f95f54a50db8db930.tar.gz
librewolf-fedora-ff-02e8ef68f3427369c61ab54f95f54a50db8db930.tar.bz2
librewolf-fedora-ff-02e8ef68f3427369c61ab54f95f54a50db8db930.zip
Added fix for mozbz#1097592 - Firefox freeze in Gtk3
Diffstat (limited to 'mozilla-1097592.patch')
-rw-r--r--mozilla-1097592.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/mozilla-1097592.patch b/mozilla-1097592.patch
new file mode 100644
index 0000000..5e1139a
--- /dev/null
+++ b/mozilla-1097592.patch
@@ -0,0 +1,56 @@
+# HG changeset patch
+# Parent 64206634959a2e84eefec40d1da0122c7a63bc20
+# User Martin Stransky <stransky@redhat.com>
+Bug 1097592 - Don't use PR_FindFunctionSymbolAndLibrary to avoid app freeze, r=?karlt
+
+diff --git a/widget/gtk/mozgtk/mozgtk.c b/widget/gtk/mozgtk/mozgtk.c
+--- a/widget/gtk/mozgtk/mozgtk.c
++++ b/widget/gtk/mozgtk/mozgtk.c
+@@ -116,16 +116,17 @@ STUB(gdk_x11_display_get_user_time)
+ STUB(gdk_x11_display_get_xdisplay)
+ STUB(gdk_x11_get_default_root_xwindow)
+ STUB(gdk_x11_get_default_xdisplay)
+ STUB(gdk_x11_get_xatom_by_name)
+ STUB(gdk_x11_lookup_xdisplay)
+ STUB(gdk_x11_screen_get_xscreen)
+ STUB(gdk_x11_visual_get_xvisual)
+ STUB(gdk_x11_window_lookup_for_display)
++STUB(gdk_x11_window_set_user_time)
+ STUB(gdk_x11_xatom_to_atom)
+ STUB(gtk_accel_label_new)
+ STUB(gtk_alignment_get_type)
+ STUB(gtk_alignment_new)
+ STUB(gtk_alignment_set_padding)
+ STUB(gtk_arrow_get_type)
+ STUB(gtk_arrow_new)
+ STUB(gtk_bindings_activate)
+diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
+--- a/widget/gtk/nsWindow.cpp
++++ b/widget/gtk/nsWindow.cpp
+@@ -1290,24 +1290,18 @@ SetUserTimeAndStartupIDForActivatedWindo
+ sn_launchee_context_new(snd, gdk_screen_get_number(screen),
+ desktopStartupID.get());
+ if (!ctx) {
+ sn_display_unref(snd);
+ return;
+ }
+
+ if (sn_launchee_context_get_id_has_timestamp(ctx)) {
+- PRLibrary* gtkLibrary;
+- SetUserTimeFunc setUserTimeFunc = (SetUserTimeFunc)
+- PR_FindFunctionSymbolAndLibrary("gdk_x11_window_set_user_time", &gtkLibrary);
+- if (setUserTimeFunc) {
+- setUserTimeFunc(gdkWindow, sn_launchee_context_get_timestamp(ctx));
+- PR_UnloadLibrary(gtkLibrary);
+- }
+- }
++ gdk_x11_window_set_user_time(gdkWindow, sn_launchee_context_get_timestamp(ctx));
++ }
+
+ sn_launchee_context_setup_window(ctx, gdk_x11_window_get_xid(gdkWindow));
+ sn_launchee_context_complete(ctx);
+
+ sn_launchee_context_unref(ctx);
+ sn_display_unref(snd);
+ #endif
+
bgstack15