+ Reply to Thread
Results 1 to 3 of 3

Thread: Unusual and unexplainable frame display bugs

  1. #1
    Rift Chaser Ferather's Avatar
    Join Date
    Jun 2011
    Posts
    341

    Default Unusual and unexplainable frame display bugs

    Hi all,

    I ofc have been playing around with Super Meter again and have managed to find some really weird frame display issues.

    Since there is so much code that it would never fit in one post you will have to just use Super Meter v 2.44 to understand my findings.

    To get the bug:

    * You need a saved session with a combat log that increases the width of the log beyond normal (grows).

    Import a session > Right click a unit to open a log (must grow) > Close the log by right clicking again > Switch to Enemies > Type /sm to open the options bar > Turn addon off > Turn addon on > Import session > Switch to Allies > Open the log again.


    http://oi40.tinypic.com/2h7km6o.jpg

    This is my combat log in normal working conditions.

    http://oi44.tinypic.com/2epmtxk.jpg

    This is after the bug.


    After several tests thinking that the text building function for the combat log was the source of the issue, It turns out to be a two separate issues and one being completely unrelated.

    The first part of the fix was to remove:

    Code:
    self.plog:SetPoint("TOPLEFT", UIParent, "TOPLEFT", SuperMeter_logX, SuperMeter_logY)
    Which caused the corruption if ran whilst the frames are hidden.

    Then in another case the bug returned whenever FrameSort() was ran (Or via another function). So I looked at FrameSort() which is only the text builder for the main frame NOT any relation to the Player logs, However removing:

    Code:
    	if SuperMeter_minimal then
    		if list and list[1] then
    			self.main:SetHeight(height + 30.0)
    		else
    			self.main:SetHeight(26.8)
    		end
    		self.mainbg:SetVisible(false)
    	else
    		if list and list[1] then
    			self.main:SetHeight(height + 76)
    		else
    			self.main:SetHeight(72.8)
    		end
    		self.mainbg:SetVisible(true)
    	end
    from "Interface:CombatText(nameText, mode1Text, mode2Text)" - Ran by FrameSort(), Fixes the issue even though both the function nor the code snippet have any relation to the Player logs.

    Turns out the "o.main:SetHeight()" part causes the issue, which again is totally irrelevant from "o.plog"
    Last edited by Ferather; 08-20-2013 at 08:45 AM.

  2. #2
    Shadowlander Olandria's Avatar
    Join Date
    Jul 2011
    Posts
    34

    Default

    Sounds intricate.. my advice: Assumptions are deadly
    "To those who do not know mathematics it is difficult to get across a real feeling as to the beauty, the deepest beauty, of nature."
    ― Richard P. Feynman

  3. #3
    Rift Chaser Ferather's Avatar
    Join Date
    Jun 2011
    Posts
    341

    Default

    After hours of testing Ive found the issue.

    This bug although a bit unclear, Is parenting.

    Any time a change was made to o.main such as "SetHeight()" and "SetPosition()" caused o.plogtext to become corrupt. Anyhow to fix the issue ive replaced the frame setup to a context setup, So now o.plog is a context rather than a standard frame.

    And the bug is gone.

    However due to the frame being a context, It uses more resources.

    Accepting credits for work done
    Last edited by Ferather; 08-25-2013 at 03:27 PM.

+ Reply to Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts