OpenLayers OpenLayers

Ticket #758 (closed bug: fixed)

Opened 1 year ago

Last modified 11 months ago

BaseLayer switching in Opera, Safari

Reported by: euzuro Assigned to:
Priority: minor Milestone: 2.6 Release
Component: Tile Version: 2.4
Keywords: Cc:
State: Complete

Description

As reported by John W on the users list:

I have a problem with switching between base layers in Opera and
Konqueror. The problem can be reproduced both on my application and on
the Mumbai freemap, mumbai.freemap.in . To reproduce the problem follow
these steps:

Let a base layer completely load in.
Switch to a second base layer and let that completely load in.
Switch back to the first base layer - it does not appear.

This will happen when switching to any base layer that has been
previously loaded, without zooming or panning between layer switches.
Any ideas on what the problem could be? May be something to do with
their AJAX implementation?

...

I have tested in Safari and have found that the problem with switching
between base layers also occurs with this browser. I assume this problem is
something to do with browser (in)compatibility and Ajax? If so, I guess the
problem could lie within the Rico framework? Does anybody have any possible
ideas for a work around? To summarize, I have tried the following browsers:

Firefox - PASS
Internet Explorer - PASS
Opera - FAIL
Safari - FAIL
Konqueror - FAIL (not so bothered about Konqueror)

Attachments

blank_tile_patch.patch (0.7 kB) - added by crschmidt on 10/14/07 10:12:28.

Change History

06/13/07 11:19:22 changed by euzuro

i've tested this on Opera and it is just as John has described. Maybe an Opera user can help fix this.

06/13/07 11:20:46 changed by euzuro

just tested on safari in windows and the bug is apparent there too.

07/15/07 02:55:29 changed by crschmidt

#814 seems to be a duplicate of this report, but it applies to overlays instead of base layers.

08/03/07 11:30:53 changed by crschmidt

  • milestone changed from 2.5 Release to 2.6 Release.

10/13/07 09:06:23 changed by crschmidt

  • summary changed from BaseLayer switching in Opera to BaseLayer switching in Opera, Safari.

10/14/07 10:12:12 changed by crschmidt

  • component changed from Layer to Tile.

For Safari, this is:

Bug 9582: img.onload event ONLY fires when .src changes http://bugs.webkit.org/show_bug.cgi?id=9582

A workaround is to make layer.getUrl() return a URL with additional parameters, so that the src is always changed, but that's kind of ugly.

Attaching a patch with a second workaround, which sets the Tile URL to blank.gif in clear() (which will then be reset shortly after in draw()).

10/14/07 10:12:28 changed by crschmidt

  • attachment blank_tile_patch.patch added.

10/14/07 10:12:49 changed by crschmidt

I've tested this patch in Safari and Opera, and it does fix the problem.

10/14/07 11:30:05 changed by penyaskito

I've tested the patch with the Mumbai app with WindowsXP & Opera9 and works fine. Thanks crschmidt!

10/30/07 19:46:53 changed by pspencer

This bug also affects window resize events in Safari (and presumably Opera/Konqueror).

12/15/07 13:44:18 changed by crschmidt

  • state set to Review.

01/07/08 17:48:25 changed by euzuro

  • state changed from Review to Commit.

patch looks good. please commit.

01/09/08 03:37:01 changed by crschmidt

  • status changed from new to closed.
  • state changed from Commit to Complete.
  • resolution set to fixed.