Closed Bug 410398 Opened 17 years ago Closed 16 years ago

Autoscroll not working in OS/2 build

Categories

(Firefox :: General, defect)

x86
OS/2
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: kim, Assigned: mozilla)

Details

(Keywords: fixed1.8.1.15, regression)

Attachments

(2 files, 1 obsolete file)

User-Agent:       Mozilla/5.0 (OS/2; U; Warp 4.5; da; rv:1.8.1.8) Gecko/20071019 PmWFx/2.0.0.8
Build Identifier: Firefox 3 beta 2

Autoscroll function is broken in OS/2 (Works in Windows). It is not possible to click once on the middle mouse button and then get autoscroll by moving the mouse. You have to hold down the mouse button while scrolling. 

Reproducible: Always

Steps to Reproduce:
1. click middle mouse button once
2. scroll icon appears while mouse button is pressed
3. icon disappears again when the button is released



Autoscroll should be working as in Firefox 2 and as in Firefox 3 on other platforms.
Thanks Kim.

As said on the newsgroup this has regressed between January 2006 and end of December 2006. I didn't find any OS/2 nightlies in between these dates under <http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/contrib/2006/>. That gives me a fairly long list of stuff that was changed (I only searched the platform specific code in widget):

http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=mozilla%2Fwidget&date=explicit&mindate=2006-01-01&maxdate=2006-12-31&cvsroot=%2Fcvsroot

There is nothing about "autoscroll" but several things about "scroll". Of those, only bug 354694 looks like it could have something to do with this problem.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
Version: unspecified → Trunk
Hmm, now that I decided to build a few old nightlies to narrow down the regression range, I see that it doesn't even work in the nightly of 2006-01-27 any more. Either I changed something of my configuration or I badly tested in January.

Kim, if you have time can you try the old build from
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/contrib/2006/01/2006-01-27-08-trunk/firefox-1.6a1.en-US.os2.zip
and confirm that it is already broken?
I noticed that while the oldest there are even older builds of SeaMonkey archived at
http://ftp.mozilla.org/pub/mozilla.org/seamonkey/nightly/contrib/2005/
so I tried some of them. After that exercise I have results from these nightlies
   2005-07-06-19-trunk	SM	doesn't have autoscroll at all
   2005-09-01-03-trunk	SM	doesn't have autoscroll at all
   2005-09-20-10-trunk	SM	is broken
   2005-10-01-05-trunk	SM	is broken
   2005-10-23-05-trunk	SM	is broken
   2005-11-03-05-trunk	SM	is broken
   2005-12-01-05-trunk	SM	is broken
   2006-01-27-08-trunk	FF	is broken
where "is broken" refers to the behavior reported in comment 0.

I wonder if there was a fix on the 1.8 branch that then made it into Firefox 2.0.0.x but not on the trunk.
Args, why did I only notice this now, SM 1.1.8 is still broken, so testing that won't help at all, as a continuation of the above table:
   2008-02-10 (1.1.8)      SM(PmW) is broken
   2008-02-10 (2.0.0.12)   PmW-Fx  works
Kim, if you have time to try them out, can you confirm that Firefox 2.0.0.12 (or a newer 2.0.0.x) works while SeaMonkey 1.1.x and the old Firefox nightly from <http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/contrib/2006/01/2006-01-27-08-trunk/> are both broken?

Because I'm unsure how local mouse configuration -- like my AMouse driver set to simulate double click with the middle mouse button -- would affect testing, I would like confirmation.
Firefox 2.0.0.14 (official build) is working. I haven't testet Seamonkey, but <http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/contrib/2006/01/2006-01-27-08-trunk/> is working fine.
I just downloaded http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0b5/contrib/firefox-3.0b5.en-US.os2.zip  here the auto scrolling is not working.

By the way - and this has probably no influence on the scrolling problem - I noticed, that in Firefox 2.* and Dear Park the scroll icon is round. In Firefox 3 it is a square. In my opinion the round one is more pretty.
Yes, I agree that the icon was nicer back then. I was hoping to find time to investigate which PNG file got lost in the meantime.

Thanks for testing again. I found that I can fully reproduce what you are seeing when disabling the double click effect of my middle button (which for me turned out to be set through the "Mouse" object on the 2nd "Mappings" page created by XWorkplace). That now helps me to find a better regression date using Firefox/Minefield nightlies:

   2006-01-27-08    works (confirmed by Kim)
   2006-12-29-06    works
   2007-02-06       works
   2007-05-25       works (as far as one can tell from that build,
                           mouse graphic is invisible)
   2007-06-01-09    dito
   2007-06-10-09    dito
   2007-06-28-09    is broken (and has square autoscroll icon)
   2007-07-03-10    is broken
   2007-10-22       is broken (nightly from pmw-warpzilla.sf.net)
   2007-12-10       is broken (Firefox 3 beta 2, using branch date)
There are no usable nightlies available between 2007-06-10 and 2007-06-28
OK, much better than a year's span: http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&date=explicit&mindate=2007-06-10&maxdate=2007-06-28%2012

Bug 242621 falls in that timeframe for which three check-ins landed on 2007-06-14 and 2007-06-15. That at least messed with the autoscroll icons, so maybe both problems are connected after all. Now for the hard debugging work...
(In reply to comment #8)
> Yes, I agree that the icon was nicer back then. I was hoping to find time to
> investigate which PNG file got lost in the meantime.
> 
Looking at the checkins for Bug 242621 they have redesigned the PNG and at least two comments explain, why we are seeing the square
https://bugzilla.mozilla.org/show_bug.cgi?id=242621#c7
https://bugzilla.mozilla.org/show_bug.cgi?id=242621#c26
So, it seems the transparency that's supposed to be a problem for OS/2 according to these comments. But I think that this problem now with cairo/thebes is gone.
(In reply to comment #9)
> So, it seems the transparency that's supposed to be a problem for OS/2
> according to these comments. But I think that this problem now with
> cairo/thebes is gone.

For some reason, the problem is new with cairo-based builds. As you can see, we nicely support a partly transparent autoscroll icon in FF 2.0.0.x. If you try the same on trunk (by activating the XP_WIN lines for the three autoscroller properties in toolkit\themes\winstripe\global\global.css) you can see an ugly grey background in the autoscroll icon.
unfortunately I don't get autoscroll to work at all with AMouse on ECS-2.0rc4. I tried all your suggestions with regard to AMouse, but it seems that the wheel of my USB-mouse is only recognized as a wheel and not as a third button :-(. So I'm afraid I can't help at the moment (need to figure out how to switch to the IBM mouse driver, maybe then I can see the problem)
Attached patch hacky fix (obsolete) — Splinter Review
OK, this fixes the problem but it's hack to ignore the mouseup event only on OS/2.
Assignee: nobody → mozilla
Status: NEW → ASSIGNED
CTho, Michael, in your autoscroll changes in bug 242621 why did you make the mouseup event stop the autoscroll?
(In reply to comment #13)
> CTho, Michael, in your autoscroll changes in bug 242621 why did you make the
> mouseup event stop the autoscroll?
> 

I don't remember why each part of the code does what it does, but the behavior is supposed to be:
1. If you mousedown and then move the mouse more than a tiny bit, scrolling stops on mouseup.
2. If you mousedown and then mouseup before moving the mouse, scrolling will continue until you click again.

As far as I know, it works that way on the platforms I have access to (Windows and Linux).  If OS/2 doesn't work that way, something might be wrong with the OS/2 event code.  I know Mac had an event problem for a while that caused weird behavior.
After removing the Amouse driver, I can see what's happening. Indeed, Firefox-2.0.x works. Firefox-trunk behaves like Seamonkey-1.x. Autoscroll works only when you press the button and the buttons are squares.
Autoscroll for seamonkey was implemented here
http://bonsai.mozilla.org/cvsview2.cgi?diff_mode=context&whitespace_mode=show&file=utilityOverlay.js&branch=MOZILLA_1_8_BRANCH&root=/cvsroot&subdir=/mozilla/xpfe/communicator/resources/content&command=DIFF_FRAMESET&rev1=1.87&rev2=1.87.4.1
Did it ever work on OS/2 Seamonkeys properly? I downloaded release Seamonkey-1.0 and had to press the button to be able to scroll.
In bug 352262 new transparent popups were introduced for Seamonkey (trunk and branch) and OS/2 (and other platforms) were treated differntly
+      // Exclude second-rate platforms
+      gAutoScrollPopup.setAttribute("transparent", !/BeOS|Mac|OS\/2|Photon/.test(navigator.appVersion));
+      // Enable translucency on W2K+ (but not WinNT4.0)
+      gAutoScrollPopup.setAttribute("translucent", /^Windows NT /.test(navigator.oscpu));
If I understand it correctly, the firefox-trunk patch from bug 242621 was a backport of the Seamonkey implementation. Probably therefore firefox-trunk behaves like Seamonkey. Yet I didn't find in the Seamonkey code something similar with regard to the mouseup event.

I don't understand.  Is there a bug here or not?  What do you mean by "...and the buttons are squares"?
CTho, thanks for the clarification. The problem is that on OS/2 the mouseup event for button 3 is sent twice, as you say this is most likely a problem in the OS/2 implementation or in the mouse driver, I'll have to debug that some more.

Walter was talking partly about the second problem that the icon is no longer transparent as it was with Firefox 2. That is because now that autoscroll icon is a popup window, and we haven't implemented translucency in nsWindow yet. We should file an extra bug about that.
Attached patch real fixSplinter Review
OK, so like with mouse button 1 and 2 we obviously need to get the desktop to swallow some events, otherwise the up event occurs twice. Although I have to admit that I don't fully understand the magic behind this trick, it works here.
Attachment #317863 - Attachment is obsolete: true
Attachment #317909 - Flags: review?(mozilla)
Peter, your Patch is working on Firefox-trunk, yeah. For curiosity, I manually entered the lines from your patch in nsWindow.cpp from the 1_8_BRANCH, as the patch won't cleanly apply due to different indents. I compiled a seamonkey with gcc-3.2.2 and attached wdgtos2.dll here. Your patch would also give an autoscollable Seamonkey branch, tested with official Seamonkey-1.1.9 and the latest 1.8 Branch nightly from 2008-04-26.
Comment on attachment 317909 [details] [diff] [review]
real fix

This was basically r+ed by Walter.
Attachment #317909 - Flags: review?(mozilla) → review+
Fix checked into trunk.

I'll wait a few days and then also put this on 1.8 branch as suggested. (If I forget please remind me.)

If you think it's worth the significant work to implement translucent windows on OS/2, please file a follow-up bug on the autoscroll icon issue.
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Fix checked into 1.8 branch, too.
Keywords: fixed1.8.1.15
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: