happenslol / WarpDeplete

Mythic+ Timer Addon for World of Warcraft
MIT License
16 stars 19 forks source link

3.0.4 moving objective tracker over mini map on login or reload #80

Closed aruberto closed 1 month ago

aruberto commented 1 month ago

Using the Modern preset layout image

When WarpDelete 3.0.4 is installed, upon logging in or re-loading, my objective tracker overlaps my map image

Downgrading back to 3.0.3 fixes the issue and objective tracker renders correctly underneath mini map image

happenslol commented 1 month ago

I think I know what causes this. If I provide you with a branch with a potential fix, would you be able to test it?

happenslol commented 1 month ago

Also, @Numynum could you have a look at this? I suspect the reparenting to UIParent causes this, or maybe we need to also store and restore the position when un-hiding the tracker frame.

Numynum commented 1 month ago

ah yeah, didn't really count on the ShowBlizzardObjectiveTracker code running before the HideBlizzardObjectiveTracker 🙂 but I have a simple enough fix in mind (I can't reproduce the problem though, so if @aruberto can test it, that'd be good) will send a PR in a sec

Numynum commented 1 month ago

FWIW, positioning should generally be unaffected, presumably it's only on initial loading, when the quest tracker position is loaded from edit mode or an addon, where it sets the position relative to the parent but once the position is set, changing parents has no impact so as long as we don't mess with the parent until actually hiding the frame, all should be well

TL;DR,I don't see any point storing and restoring the position 🙂

happenslol commented 1 month ago

Ok, gotcha on the positioning bit. Still don't understand how the Show code could run first, but let's see if this fixes it. @aruberto, can you test the branch from the PR? It's a pretty small patch, so you could even just copy the patch into your installation.

Numynum commented 1 month ago

WarpDeplete:OnEnable() calls WarpDeplete:Hide() which calls WarpDeplete:ShowBlizzardObjectiveTracker() during the initial loading screen

aruberto commented 1 month ago

Applying the change from commit https://github.com/Numynum/WarpDeplete/commit/7359599601d1364fc431a786e4700f3f22d6eb41 seems to work

happenslol commented 1 month ago

Fixed in #81, 3.0.5 includes this.