Quantcast WoWInterface - View Single Post - Beta API discussion
View Single Post
08-06-12, 10:01 PM   #203
Talyrius
An Onyxian Warder
 
Talyrius's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 357
[Bug] SecureAuraHeader
There is a bug (present since patch 4.3) within the SecureAuraHeader. When using the 'consolidateTo' or 'includeWeapons' attributes, buffs aren't correctly hiding after the timer is dead or cancelled by the player if there are any temporary weapon enchants or consolidated buffs active.

Related thread:
http://eu.battle.net/wow/en/forum/topic/2868633701
An example:
http://www.wowinterface.com/forums/s...ad.php?t=43833

HOW TO FIX
Build 15952 - SecureGroupHeaders.lua, line 812:
Code:
	local deadIndex = display + 1;
	local button = self:GetAttribute("child"..deadIndex);
	while ( button ) do
		button:Hide();
		deadIndex = deadIndex + 1;
		button = self:GetAttribute("child"..deadIndex)
	end
Make a copy of the above code block and move it back to line 736. That's where it resided the last time it worked properly (patch 4.2). You'll have to redefine 'deadIndex' as being: #buttons + 1.

Your original modifications regarding the placement of this code block were made at the suggestion of Dargen (link below). However, he forgot to account for the use of the 'consolidateTo' and 'includeWeapons' attributes.
http://us.battle.net/wow/en/forum/topic/1920720200

IN ADDITION
http://us.battle.net/wow/en/forum/to...45961?page=1#3
A second change that is still needed is to hide all of the items in the "buttons" table which are not being explicitly shown. Other buttons may have been shown during a previous call to this function, and the addon may have since reduced the values in the "wrapAfter" and/or "maxWraps" attributes.

In SecureGroupHeaders.lua, in the configureAuras function, after the loop that shows buttons from the "buttons" table, line 820 which currently reads:

Code:
	if ( display >= 1 ) then
should be changed to:

Code:
	for hideIndex = display + 1, #buttons do
		buttons[hideIndex]:Hide();
	end
	if ( display >= 1 ) then

Last edited by Talyrius : 08-08-12 at 11:15 PM.