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) || \