I reviewed the .diff.gz by hand and compared it with the relevant
patches in the upstream bugzilla and I think I've concluded that only
two files are still affected in the Debian package.

A diff to revert this old patch is attached.  I will be uploading a
version of firefox with this patch to Ubuntu shortly.  I don't have a
mouse with many extended buttons so I won't be able to see myself if
it causes it not to work any more.  I will try to get some feedback
from Ubuntu users and report back.

Ian.

diff -ruN debian-4/firefox-1.5.dfsg/content/events/src/nsEventStateManager.cpp 
firefox-1.5.dfsg/content/events/src/nsEventStateManager.cpp
--- debian-4/firefox-1.5.dfsg/content/events/src/nsEventStateManager.cpp        
2006-01-18 18:51:14.000000000 +0000
+++ firefox-1.5.dfsg/content/events/src/nsEventStateManager.cpp 2005-10-24 
08:34:26.000000000 +0100
@@ -24,10 +24,6 @@
  *   Makoto Kato  <[EMAIL PROTECTED]>
  *   Dean Tessman <[EMAIL PROTECTED]>
  *   Mats Palmgren <[EMAIL PROTECTED]>
- *   Andrew Wellington <[EMAIL PROTECTED]>
- *   Graham Dennis <[EMAIL PROTECTED]>
- *   Thomas Kleffel <[EMAIL PROTECTED]>
- *   Mike Hommey <[EMAIL PROTECTED]>
  *
  * Alternatively, the contents of this file may be used under the terms of
  * either of the GNU General Public License Version 2 or later (the "GPL"),
@@ -2024,105 +2020,6 @@
       }
     }
     break;
-  case NS_USER_DEFINED_EVENT: // In reality an extended mouse event
-    {
-      nsExtendedMouseEventStatus *eMEStatus;
-      nsMouseEvent *mEvent = (nsMouseEvent* )aEvent;
-      eMEStatus = (nsExtendedMouseEventStatus *)&mEvent->clickCount;
-      char ourbutton=0;
-      char *string, *suffix, *straction, *strnumlines;
-      PRInt32 action;
-      PRInt32 numLines;
-
-      // adding 2 below so the maximum number of mouse buttons we can
-      // support is 99 but to represent the buttons in buttonlist
-      // we're going to map 10->35 onto 'a'->'z'
-      // the storage actually supports 256
-      if(eMEStatus->button > 35) break;
-      if(eMEStatus->button > 9)
-        ourbutton = 'a' + eMEStatus->button -9;
-      else
-        ourbutton = '0' + eMEStatus->button;
-      string = 
ToNewCString(nsContentUtils::GetCharPref("mousebuttonsextended.buttonlist"));
-      if(!string) break;
-      if(!strchr(string, ourbutton)) {
-          free(string);
-          break;
-      }
-      free(string);
-      switch(eMEStatus->event)
-        {
-        case nsExtendedMouseEventStatus_up:
-          suffix=strdup(".up");
-          break;
-
-        case nsExtendedMouseEventStatus_down:
-          suffix=strdup(".down");
-          break;
-        default:
-          return NS_OK;
-        }
-      straction= (char *)memset(malloc(100), 0, 100);
-      strnumlines=(char *)memset(malloc(100), 0, 100);
-
-      strcpy(straction, "mousebuttonsextended.buttons.X.action");
-      strcpy(strnumlines, "mousebuttonsextended.buttons.X.numlines");
-      strcpy(straction+strlen(straction), suffix);
-      strcpy(strnumlines+strlen(strnumlines), suffix); 
-
-      string = strchr(straction, 'X');  *string = ourbutton;
-      string = strchr(strnumlines, 'X'); *string = ourbutton;
-
-      action = nsContentUtils::GetIntPref(straction);
-      numLines = nsContentUtils::GetIntPref(strnumlines);
-
-      switch (action) {
-
-#if 0   // Because we would have to create a msEvent
-      case MOUSE_SCROLL_N_LINES:
-      case MOUSE_SCROLL_PAGE:
-        {
-          DoWheelScroll(aPresContext, aTargetFrame, msEvent, numLines,
-                        (msEvent->scrollFlags & 
nsMouseScrollEvent::kIsHorizontal),
-                        (action == MOUSE_SCROLL_PAGE), PR_FALSE);
-
-        }
-        break;
-#endif 
-      case MOUSE_SCROLL_HISTORY:
-        {
-          nsCOMPtr<nsISupports> pcContainer;
-          pcContainer = mPresContext->GetContainer();
-          if (pcContainer) {
-            nsCOMPtr<nsIWebNavigation> webNav(do_QueryInterface(pcContainer));
-            if (webNav) {
-              if (numLines < 0)
-                 webNav->GoBack();
-              else
-                 webNav->GoForward();
-            }
-          }
-        }
-        break;
-
-      case MOUSE_SCROLL_TEXTSIZE:
-        {
-          // Exclude form controls and XUL content.
-          nsIContent* content = aTargetFrame->GetContent();
-          if (content &&
-              !content->IsContentOfType(nsIContent::eHTML_FORM_CONTROL) &&
-              !content->IsContentOfType(nsIContent::eXUL))
-            {
-              ChangeTextSize((numLines > 0) ? 1 : -1);
-            }
-        }
-        break;
-
-      default:  // Including -1 (do nothing)
-        break;
-      }          
-    }
-    break;
   case NS_MOUSE_SCROLL:
     if (nsEventStatus_eConsumeNoDefault != *aStatus) {
 
diff -ruN debian-4/firefox-1.5.dfsg/modules/libpref/src/init/all.js 
firefox-1.5.dfsg/modules/libpref/src/init/all.js
--- debian-4/firefox-1.5.dfsg/modules/libpref/src/init/all.js   2006-01-18 
18:51:14.000000000 +0000
+++ firefox-1.5.dfsg/modules/libpref/src/init/all.js    2006-01-18 
18:49:10.000000000 +0000
@@ -853,16 +853,6 @@
 pref("mousewheel.horizscroll.withmetakey.sysnumlines",false);
 #endif
 
-pref("mousebuttonsextended.buttonlist", "67");
-pref("mousebuttonsextended.buttons.6.action.up", 2);
-pref("mousebuttonsextended.buttons.6.numlines.up", -1);
-pref("mousebuttonsextended.buttons.6.action.down", -1);
-pref("mousebuttonsextended.buttons.6.numlines.down", -1);
-pref("mousebuttonsextended.buttons.7.action.up", 2);
-pref("mousebuttonsextended.buttons.7.numlines.up", 1);
-pref("mousebuttonsextended.buttons.7.action.down", -1);
-pref("mousebuttonsextended.buttons.7.numlines.down", -1);
-
 pref("profile.confirm_automigration",true);
 // profile.migration_behavior determines how the profiles root is set
 // 0 - use NS_APP_USER_PROFILES_ROOT_DIR
diff -ruN debian-4/firefox-1.5.dfsg/widget/public/nsGUIEvent.h 
firefox-1.5.dfsg/widget/public/nsGUIEvent.h
--- debian-4/firefox-1.5.dfsg/widget/public/nsGUIEvent.h        2006-01-18 
18:51:14.000000000 +0000
+++ firefox-1.5.dfsg/widget/public/nsGUIEvent.h 2005-08-31 00:15:10.000000000 
+0100
@@ -22,8 +22,6 @@
  * Contributor(s):
  *   Makoto Kato  <[EMAIL PROTECTED]>
  *   Dean Tessman <[EMAIL PROTECTED]>
- *   Andrew Wellington <[EMAIL PROTECTED]>
- *   Graham Dennis <[EMAIL PROTECTED]>
  *
  * Alternatively, the contents of this file may be used under the terms of
  * either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -943,22 +941,6 @@
   nsDragDropEventStatus_eDrop  
 };
 
-/**
- * Event status for an extended mouse button event
- * The event (called clickCount) is type PRUint32:
- * hence this struct will be of the same size
- */
-typedef struct {
-  PRUint16 realClickCount;
-  PRUint8  button;
-  PRUint8  event;  // eg button went up / down
-} nsExtendedMouseEventStatus;
-
-enum {
-  /// different types of events
-  nsExtendedMouseEventStatus_up,
-  nsExtendedMouseEventStatus_down
-};
 
 #define NS_IS_MOUSE_EVENT(evnt) \
        (((evnt)->message == NS_MOUSE_LEFT_BUTTON_DOWN) || \

Reply via email to