Ok. Here is a way to get the unit frames initialized ahead of time as a workaround for the bug where they don't initialize in combat.
I added the following method to the group frames:
function GridLayout.prototype:ForceFrameCreation()
-- deals with the blizz bug that prevents initializing unit frames in combat
-- should be called when each group in a layout is initialized
local maxColumns = self:GetAttribute("maxColumns") or 1
local unitsPerColumn = self:GetAttribute("unitsPerColumn") or 5
local startingIndex = self:GetAttribute("startingIndex")
local maxUnits = maxColumns * unitsPerColumn
self:Show()
self:SetAttribute("startingIndex", - maxUnits + 1)
self:SetAttribute("startingIndex", startingIndex)
self:Hide()
end
and call it in the GridLayout:LoadLayout() method towards the end (right before the "--place groups" comment), i.e.:
layoutGroup:ForceFrameCreation()
-- place groups
Keep in mind that the Grid outer frame will not resize in combat (and never did), so adding members while in combat can still create some awkward looking situations.
Thanks to the PB4 authors whose code I studied to figure this out. Hope it helps!
Note: edited to add default values so that code will not fail when columns and units are not specifically set.
Seriously, though . . . how anyone figured out that setting back the startingIndex to a negative number would trigger creation of the extra frames in between . . . but it works.
I'm not sure if it's known already, but we're not getting pet frames in the w/ pet layouts on beta. The header appears to be there, just no actual unit frames.
Hmm. I get pets on mine, at least my own (haven't tested a pet layout in a group with another pet class), as long as the pet is summoned out of combat. Were the pets being summoned in combat, so that this is the same issue?
Keep in mind that with the combat bug unfixed, if the pets were FIRST summoned in combat, the frames would then never initialize properly, and there would be no way for them to show even out of combat until the UI was reloaded and they were summoned out of combat. If that was the problem, then using the above fix for frame creation will fix that too.
In any case, I'll be using it in some guild dungeon runs tonight on beta; I'll see if I also have any issues with pets and report back.
Found a minor bug. In the options, when libsharedmedia is loaded, the select controls for font and texture as they are generate errors. Line 1118 of GridFrame.lua, for example, reads:
dialogControl = "LSM30_Font",
This and the similar line in the next control cause the errors. I have not spent time trying to figure out the purpose of those lines. The controls seem to work with those lines commented, but I don't know what might be lost by doing that. If it is helpful I can spend some time trying to figure out what is intended there.
p.s. A quick search doesn't show any references to LSM30_Font anywhere in the LibSharedMedia code or in any other included library that I see.
Found a minor bug. In the options, when libsharedmedia is loaded, the select controls for font and texture as they are generate errors. Line 1118 of GridFrame.lua, for example, reads:
dialogControl = "LSM30_Font",
This and the similar line in the next control cause the errors. I have not spent time trying to figure out the purpose of those lines. The controls seem to work with those lines commented, but I don't know what might be lost by doing that. If it is helpful I can spend some time trying to figure out what is intended there.
p.s. A quick search doesn't show any references to LSM30_Font anywhere in the LibSharedMedia code or in any other included library that I see.
I am looking for a way to make grid occupy the same amount of screen space reguardless if it is a 10 man or 25 man raid. This would require the 10 man cells within grid to be 2.5* taller than they are in 25 man. Is there an addon that currently does this or anyway to modify some value within grid to make this work with a custom layout.
I am looking for a way to make grid occupy the same amount of screen space reguardless if it is a 10 man or 25 man raid. This would require the 10 man cells within grid to be 2.5* taller than they are in 25 man. Is there an addon that currently does this or anyway to modify some value within grid to make this work with a custom layout.
You can create profiles with different sized cells, and switch between them.
Ok, here is the fix: add the following line to GridFrame.lua in the UpdateFrameUnits() method (it becomes line 1257):
local unitid = SecureButton_GetModifiedUnit(frame)
--> unitid = unitid and unitid:gsub("petpet", "pet")
local guid = unitid and UnitGUID(unitid) or nil
because there is an error in the way SecureButton_GetModifiedUnit() is returning the unit string. Written this way it will not break the method if they fix the bug.
Thanks, guys. I've been extremely busy with work for the last few weeks and haven't had much time to spend on addons. I just the pet fix you just posted, MSaint, and also added support for Clique in Cataclsym. I don't have time right now to do much more than make sure everything works while standing in town, but it's a start, I guess. The time you guys are putting in on this is much appreciated.
17x attempt to call a nil value:
(tail call): ?:
Grid-1.30300.1311\GridRange.lua:81: in function <Grid\GridRange.lua:60>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[2]":9: in function <[string "safecall Dispatcher[2]"]:5>
(tail call): ?:
AceTimer-3.0-5 (Ace3):164: in function <Ace3\AceTimer-3.0\AceTimer-3.0.lua:138>
---
17x attempt to call a nil value:
(tail call): ?:
Grid-1.30300.1311\GridRange.lua:81: in function `ScanSpellbook'
Grid-1.30300.1311\GridRange.lua:99: in function <Grid\GridRange.lua:96>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (Ace3):539: in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:532>
(tail call): ?:
(tail call): ?:
Grid-1.30300.1311\GridCore.lua:266: in function `EnableModules'
Grid-1.30300.1311\GridCore.lua:198: in function <Grid\GridCore.lua:195>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (Ace3):539: in function `EnableAddon'
AceAddon-3.0-5 (Ace3):629: in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:615>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:242: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:265: in function `CombatLog_LoadUI':
Interface\FrameXML\UIParent.lua:519: in function <Interface\FrameXML\UIParent.lua:492>:
GridStatusHeals has been committed.
I added the following method to the group frames:
and call it in the GridLayout:LoadLayout() method towards the end (right before the "--place groups" comment), i.e.:
Keep in mind that the Grid outer frame will not resize in combat (and never did), so adding members while in combat can still create some awkward looking situations.
Thanks to the PB4 authors whose code I studied to figure this out. Hope it helps!
Note: edited to add default values so that code will not fail when columns and units are not specifically set.
Keep in mind that with the combat bug unfixed, if the pets were FIRST summoned in combat, the frames would then never initialize properly, and there would be no way for them to show even out of combat until the UI was reloaded and they were summoned out of combat. If that was the problem, then using the above fix for frame creation will fix that too.
In any case, I'll be using it in some guild dungeon runs tonight on beta; I'll see if I also have any issues with pets and report back.
dialogControl = "LSM30_Font",
This and the similar line in the next control cause the errors. I have not spent time trying to figure out the purpose of those lines. The controls seem to work with those lines commented, but I don't know what might be lost by doing that. If it is helpful I can spend some time trying to figure out what is intended there.
p.s. A quick search doesn't show any references to LSM30_Font anywhere in the LibSharedMedia code or in any other included library that I see.
Looks like it needs AceGUI-3.0-SharedMediaWidgets.
Fixed in r1348.
You can create profiles with different sized cells, and switch between them.
I will post code that works around it in a little while, have to do something for a bit first.
because there is an error in the way SecureButton_GetModifiedUnit() is returning the unit string. Written this way it will not break the method if they fix the bug.
(Its not that hard, catch me on IRC if you need some hints)
In any case, i do not like the thought of a "half-broken" version floating around ;)
(tail call): ?:
Grid-1.30300.1311\GridRange.lua:81: in function <Grid\GridRange.lua:60>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[2]":9: in function <[string "safecall Dispatcher[2]"]:5>
(tail call): ?:
AceTimer-3.0-5 (Ace3):164: in function <Ace3\AceTimer-3.0\AceTimer-3.0.lua:138>
---
17x attempt to call a nil value:
(tail call): ?:
Grid-1.30300.1311\GridRange.lua:81: in function `ScanSpellbook'
Grid-1.30300.1311\GridRange.lua:99: in function <Grid\GridRange.lua:96>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (Ace3):539: in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:532>
(tail call): ?:
(tail call): ?:
Grid-1.30300.1311\GridCore.lua:266: in function `EnableModules'
Grid-1.30300.1311\GridCore.lua:198: in function <Grid\GridCore.lua:195>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (Ace3):539: in function `EnableAddon'
AceAddon-3.0-5 (Ace3):629: in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:615>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:242: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:265: in function `CombatLog_LoadUI':
Interface\FrameXML\UIParent.lua:519: in function <Interface\FrameXML\UIParent.lua:492>:
---
in the beta
Did you update to the latest version of LibGratuity-3.0? These errors should be fixed.
edit: Sorry, hadn't updated my page for a few minutes, didn't mean to repeat the same info.