On Fri, Feb 20, 2009 at 05:48:45PM +1100, Roald de Wit wrote:
> Hi David and list,
> 
> Today I looked a bit deeper into the matter and I think I know what is
> going on.
> In the function getMousePosition an event listener gets created that
> will clear the mouse cache on a 'scroll' event.
> My suspicion is that clearMouseCache gets called (by that listener) just
> after this.element.scrolls = [] has been executed, causing
> this.element.scrolls to be null directly after it got created!
> 
> The easiest solution I've come up with is the following. Instead of:
>             this.element.scrolls = [];
>             this.element.scrolls[0] = (document.documentElement.scrollLeft
>                          || document.body.scrollLeft);
>             this.element.scrolls[1] = (document.documentElement.scrollTop
>                          || document.body.scrollTop);
> 
> You do this:
>             this.element.scrolls = [
>                 (document.documentElement.scrollLeft
>                          || document.body.scrollLeft),
>                 (document.documentElement.scrollTop
>                          || document.body.scrollTop)
>             ];
> 
> And to be on the safe side, we'd probably need to do that for the other
> elements (lefttop and offsets) as well.
> 
> If this would be an appropriate solution for inclusion in 2.8, I'm more
> than happy to create a ticket and provide a patch for it.

Sounds like this is a simple fix, without much reason to suspect any
problems: I'm happy to have this go into a patch and get reviewed. Thx.

> Regards, Roald
> 
> 
> David Martin wrote:
> > Roald,
> >
> > No tidy solution - I have just left the try-catch solution in my production 
> > system and it seems to be working well. I do understand the problem and 
> > will work on it some more in due course. At the moment I am focused on many 
> > other projects however a major product update in one of my OpenLayers apps 
> > will be starting in about 4 weeks. I will get onto this error again then 
> > when I load up the latest build and start afresh.
> >
> > Do you need a copy of the mod? I installed it directly in the single file 
> > build and could copy out the lines if you need it.
> >
> > David
> >
> > -----Original Message-----
> > From: Roald de Wit [mailto:roald.de...@lisasoft.com]
> > Sent: Tuesday, 3 February 2009 1:23 PM
> > To: David Martin
> > Cc: users
> > Subject: Re: [OpenLayers-Users] Javascript Error - ScrollWheel disabled - 
> > IE - scroll on map
> >
> > Hi David,
> >
> > Coincidentally, today I bumped into the same problem as you describe
> > below. Did you manage to find a solution or did you stick to the
> > workaround with the try-catch construction?
> >
> > Do you feel like creating an issue in Trac [1] (with a simplified
> > example that can reproduce the error)?
> >
> > Kind regards,
> >
> > Roald
> >
> > [1] http://trac.openlayers.org/wiki/FilingTickets
> >
> > On Mon, 2008-12-22 at 11:50 +1030, David Martin wrote:
> >
> >> I have been having an on-going problem with OL (using 2.7 and same in
> >> the trunk). The issue seems to only occur when using IE. If you
> >> disable the zoomWheel in the Navigation control and then load a
> >> Control.Click with an event script to capture clicks and mouse
> >> positions in a map. Show this map in IE and then scroll with the wheel
> >> over the map panel itself the browser throws a this.element.scrolls is
> >> null or not an object.
> >>
> >>
> >>
> >> I looked at the event script and I believe that during the
> >> getMousePosition function the evt is being destroyed with the
> >> this.clearMouseCache event (caused be scrolling using the wheel over
> >> the map). I know I am close because I wrapped the whole
> >> getMousePosition function is a try { { catch{} and the error has gone
> >> away. I would debug it further however I cannot use Firebug in IE as I
> >> do in Firefox. I also find that IE does not launch my debuggers
> >> correctly in this instance.
> >>
> >>
> >>
> >> I know it is killing the event (this) because if I comment out the
> >> this.element.scrolls section lines 777 ??? 783 the error is reported
> >> then against the this.element.lefttop. Is there a better solution?
> >>
> >>
> >>
> >> Regards
> >> David Martin
> >> Managing Director
> >> I.T. Beyond Pty Ltd
> >>
> >> Postal:
> >>
> >>
> >>                          PO BOX 967
> >>                    HILLARYS WA 6923
> >>
> >>
> >> Ph:
> >>
> >>
> >>                     (08) 9403 3737
> >>
> >>
> >> Mobile:
> >>
> >>
> >>                       0417 677 275
> >>
> >>
> >> Fax:
> >>
> >>
> >>                      (08) 9403 3738
> >>
> >>
> >> Skype:
> >>
> >>
> >>                      itbeyond_david
> >>
> >>
> >>
> >> ______________________________________________________________________
> >>
> >>    Check out our websites: www.ExplorOz.com and www.itbeyond.com.au
> >>
> >>
> >> ______________________________________________________________________
> >>
> > --
> > Roald de Wit
> > Software Engineer
> > roald.de...@lisasoft.com
> >
> > Commercial Support for Open Source GIS Software
> > http://lisasoft.com/LISAsoft/SupportedProducts/
> >
> >
> > The contents of this email are confidential and may be subject to legal or 
> > professional privilege and copyright. No representation is made that this 
> > email is free of viruses or other defects. If you have received this 
> > communication in error, you may not copy or distribute any part of it or 
> > otherwise disclose its contents to anyone. Please advise the sender of your 
> > incorrect receipt of this correspondence.
> >
> 
> 
> The contents of this email are confidential and may be subject to legal or 
> professional privilege and copyright. No representation is made that this 
> email is free of viruses or other defects. If you have received this 
> communication in error, you may not copy or distribute any part of it or 
> otherwise disclose its contents to anyone. Please advise the sender of your 
> incorrect receipt of this correspondence.
> _______________________________________________
> Users mailing list
> Users@openlayers.org
> http://openlayers.org/mailman/listinfo/users

-- 
Christopher Schmidt
MetaCarta
_______________________________________________
Users mailing list
Users@openlayers.org
http://openlayers.org/mailman/listinfo/users

Reply via email to