WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Legion Beta archived threads (https://www.wowinterface.com/forums/forumdisplay.php?f=177)
-   -   FrameStrata/FrameLevel bug? (https://www.wowinterface.com/forums/showthread.php?t=53763)

Blooblahguy 06-21-16 01:54 PM

FrameStrata/FrameLevel bug?
 
I've troubleshooted this as far as I can, but I believe something is happening with FrameLevel and FrameStrata in certain cases.
My bag addon has the bottom frame and it's background rendering above the bag buttons, however when I do a /framestack it shows pretty clear that they are at a higher frame level than the bag/bg. This happens even when I put the bag buttons at a frame strata of TOOLTIP, and only fixes when I put the bag frame strata at MEDIUM.

This is the framestack when i'm hovering over only the bag frame, and no bag buttons.




When I hover over the bag buttons, this is the framestack


But the bottom bag and bg still renders over the top:


It doesn't matter where I strata/level the bag buttons, they will only render above the bag when the bags framestrata is set to MEDIUM. However at medium it is then falling behind many other UI elements, such as QuestFrame and Actionbars, even if the framelevel is 27. Am I totally missing something or has someone else experienced this? I did a game repair/.exe delete to see if I had corrupted UI data.

zork 06-22-16 02:03 AM

Whenever possible try to create the framestack without using SetFrameLevel or SetFrameStrata. Those should be used for the base frame only. Always try to create your stack via frame parenting and texture sublayers.

Code:

frame1
|-texture1, sublayer -7
|-texture2, sublayer -6
|-frame2
  |-texture1, sublayer -7
  |-frame3
    |-texture1, sublayer -7

Lua Code:
  1. local frame1 = CreateFrame("Frame",nil,UIParent)
  2. --frame1:SetBackdrop(backdrop)
  3. frame1.texture1 = frame1:CreateTexture(nil,"BACKGROUND",nil,-7)
  4. frame1.texture2 = frame1:CreateTexture(nil,"BACKGROUND",nil,-6)
  5. local frame2 = CreateFrame("Frame",nil,frame1)
  6. frame2.texture1 = frame2:CreateTexture(nil,"BACKGROUND",nil,-7)
  7. local frame3 = CreateFrame("Frame",nil,frame2)
  8. frame3.texture1 = frame3:CreateTexture(nil,"BACKGROUND",nil,-7)

Blooblahguy 06-22-16 12:21 PM

Yeah that's a good point, and I actually ended up changing the bdBags.background to be textures instead of a frame layer after I posted this to see if that would help. Unfortunately I can't change the parent of the Bag Buttons or it breaks all kinds of default bag functionality from the blizzard UI. I'll look into that more though.

Gello 06-22-16 01:53 PM

If your buttons are parented to the default bags (ContainerFrame1 etc), it's possible you're experiencing the toplevel/framestrata bug reported in this thread:
http://www.wowinterface.com/forums/s...ad.php?t=53715

Try ContainerFrame1:SetToplevel(false) and see if they start obeying again.

That said, in my experiments I did not see any issues with frame level. It was just strata misbehaving.

Resike 06-23-16 03:29 AM

I really hoped they would fix all this strata related bugs in Legion, but atm it's seems like they just added more.


All times are GMT -6. The time now is 10:10 PM.

vBulletin © 2021, Jelsoft Enterprises Ltd
© 2004 - 2020 MMOUI