tag 404759 + patch
thanks

Thanks Josselin for finding this bug upstream! The upstream bug links to
a bug on GNOME's Bugzilla, filed against Epiphany[0], which includes a
version of the patch that works with xulrunner 1.8!

I have rebuilt libxul0d with the patch applied and can report that it
seems to fix the bug for me. I am attaching a patch for xulrunner in
unstable that integrates this patch. Please test it out and consider
applying it.

[0] http://bugzilla.gnome.org/show_bug.cgi?id=335226

-- 
Sam Morris
http://robots.org.uk/

PGP key id 1024D/5EA01078
3412 EA18 1277 354B 991B  C869 B219 7FDB 5EA0 1078
diff -u xulrunner-1.8.1.9/debian/patches/00list xulrunner-1.8.1.9/debian/patches/00list
--- xulrunner-1.8.1.9/debian/patches/00list
+++ xulrunner-1.8.1.9/debian/patches/00list
@@ -24,6 +24,7 @@
 15_jni
 15_pango_textarea_position
 15_pyxpcom_deadcode
+15_scrolljump
 18_arm_xpcom_unused_attribute
 20_about:plugins
 25_gnome_helpers_with_params
diff -u xulrunner-1.8.1.9/debian/changelog xulrunner-1.8.1.9/debian/changelog
--- xulrunner-1.8.1.9/debian/changelog
+++ xulrunner-1.8.1.9/debian/changelog
@@ -1,3 +1,11 @@
+xulrunner (1.8.1.9-2.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Apply patch from <http://bugzilla.gnome.org/show_bug.cgi?id=335226> to fix
+    scrolljump bug (closes: #404759).
+
+ -- Sam Morris <[EMAIL PROTECTED]>  Sun, 25 Nov 2007 02:34:49 +0000
+
 xulrunner (1.8.1.9-2) unstable; urgency=low
 
   * debian/patches/30_cairo_xlib.dpatch: Properly get cairo lib dependencies
only in patch2:
unchanged:
--- xulrunner-1.8.1.9.orig/debian/patches/15_scrolljump.dpatch
+++ xulrunner-1.8.1.9/debian/patches/15_scrolljump.dpatch
@@ -0,0 +1,46 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 15_scrolljump.dpatch by  <[EMAIL PROTECTED]>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
[EMAIL PROTECTED]@
+diff -urNad xulrunner-1.8.1.9~/content/events/src/nsEventStateManager.cpp xulrunner-1.8.1.9/content/events/src/nsEventStateManager.cpp
+--- xulrunner-1.8.1.9~/content/events/src/nsEventStateManager.cpp	2007-11-01 07:55:49.000000000 +0000
++++ xulrunner-1.8.1.9/content/events/src/nsEventStateManager.cpp	2007-11-25 02:25:00.000000000 +0000
+@@ -854,11 +854,13 @@
+       nsCOMPtr<nsIDOMElement> focusedElement;
+       nsCOMPtr<nsIDOMWindowInternal> focusedWindow;
+ 
++      PRBool isScrollAlreadySuppressed;
+       if (focusController) {
+         // Obtain focus info from the focus controller.
+         focusController->GetFocusedWindow(getter_AddRefs(focusedWindow));
+         focusController->GetFocusedElement(getter_AddRefs(focusedElement));
+ 
++        focusController->GetSuppressFocusScroll(&isScrollAlreadySuppressed);
+         focusController->SetSuppressFocusScroll(PR_TRUE);
+         focusController->SetActive(PR_TRUE);
+       }
+@@ -901,16 +903,16 @@
+           focusController->SetFocusedElement(focusElement);
+         }
+ 
+-        PRBool isSuppressed;
+-        focusController->GetSuppressFocus(&isSuppressed);
+-        while (isSuppressed) {
++        PRBool isFocusSuppressed;
++        focusController->GetSuppressFocus(&isFocusSuppressed);
++        while (isFocusSuppressed) {
+           // Unsuppress and let the focus controller listen again.
+           focusController->SetSuppressFocus(PR_FALSE,
+                                             "Activation Suppression");
+ 
+-          focusController->GetSuppressFocus(&isSuppressed);
++          focusController->GetSuppressFocus(&isFocusSuppressed);
+         }
+-        focusController->SetSuppressFocusScroll(PR_FALSE);
++        focusController->SetSuppressFocusScroll(isScrollAlreadySuppressed);
+       }
+     }
+     break;

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to