GoGoMount

875 - Map reseting on zone change

What steps will reproduce the problem?
1. Open the map
2. In map change to a different zone
3. Move to a different zone (leaving the map open), in moving to another zone the map will reset to show current zone rather than the different zone which I was viewing

What is your current class, level and race?
Death Knight, 100, Blood Elf

What language is your game client?  (enUS / frFR / etc)
enUS

What version of the GoGoMount are you using?
7.0.3

If the problem is with Engineering or Tailoring mounts, which and what level is your skill?
n/a

Please provide any additional information below.
So, say I'm in Dalaran
I open the map and change the zone to Borean Tundra
Then I start flying toward the Decrepit Flow (in Icecrown)
As soon as I leave Dalaran the map changes from Borean Tundra to Crystalsong Forest

- Attach a log of the problem from GoGoMount if possible to make it easier to solve the issue.  Steps to create the log is found here:  http://wow.curseforge.com/addons/gogomount/pages/debugging

User When Change
rootuseralpha Aug 01, 2016 at 06:33 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • 4 comments
  • Avatar of tiker tiker Sep 19, 2016 at 14:29 UTC - 0 likes

    Thanks for the tip.  :)

    I'm re-designing GoGoMount and preparing for a major re-write of the code.  So far I think I've got an idea that'll work to get around this issue but if not, I'll try your idea below.

    I just need more time to work on it.  There's not enough hours in a day.

    Want to chat? You'll find me here if I'm online:
    [email protected]
    (XMPP / Jabber Group Chat)

  • Avatar of Xodiv Xodiv Sep 19, 2016 at 06:56 UTC - 0 likes

    You may wish to also handle ZONE_CHANGED and ZONE_CHANGED_INDOORS as well as ZONE_CHANGED_NEW_AREA when listening for location update events.

  • Avatar of Xodiv Xodiv Sep 19, 2016 at 06:49 UTC - 0 likes

    The safest way to handle setting the map (nicked from HereBeDragons) is something like this:

    local origID = GetCurrentMapAreaID()
    local WMU_FRAMES = { GetFramesRegisteredForEvent("WORLD_MAP_UPDATE") }
    for _,f in ipairs(WMU_FRAMES) do
        f:UnregisterEvent("WORLD_MAP_UPDATE")
    end
    SetMapToCurrentZone()
    
        -- do stuff
    
    SetMapByID(origID)
    for _,f in ipairs(WMU_FRAMES) do
        f:RegisterEvent("WORLD_MAP_UPDATE")
    end
    
  • Avatar of tiker tiker Aug 02, 2016 at 16:51 UTC - 0 likes

    This is known and some what intentional.

    There was a bug a few years back with Blizzard's APIs affecting GoGoMount and other addons where in certain situations, changing zones didn't update the Blizzard API calls and would return wrong information.

    For example (at the time) you could fly from Dalaran to Borean Tundra.  After landing, you could ask the game client what zone you were in (API call) and it would respond with Dalaran.  GoGoMount would then try to pick mounts based on your favorites set for Dalaran while you were in Borean Tundra.

    The fix was to call SetMapToCurrentZone() which forced the in game map to change to the new zone's map and update the other API call returns to return the new map information.

    I'm not sure if this is still necessary or not since I didn't see the problem myself.  Others were reporting this and it was related to other UI mods they were running at the time.

  • 4 comments

Facts

Reported
Aug 01, 2016
Status
New - Issue has not had initial review yet.
Type
Defect - A shortcoming, fault, or imperfection
Priority
Medium - Normal priority.
Votes
0

Reported by

Possible assignees