I erased my old post about the fix to the addon- it wasn't fixed!
But it is now.
Phanx- because there is no more AceOO, overriding SetIndicator/CreateIndicator requires some mangling of GridFrame.prototype. I tried doing it with metatables but that apparently causes tainting issues, because the contents of prototype are copied onto each GridFrame in InitializeFrame, and copying the metatable there causes securehandlers to bark.
Anyway, I'm attaching the zips of the two addons I have corrected so far- so far as I can. They both were using old AceConfig, and this is my first foray into lua, so I'm not 100% certain that they are feature complete- but they seem to work well enough.
The method I used to override is just a replacement. It looks like this:
local FrameOverride = {
super = {},
debug = false,
apply = function(self, onto)
for j,k in pairs(self) do
if self.debug then print( "might override ", j ) end
if not (j == "super" or j == "apply" or j == "debug" or j == debuginfo) then
if self.debug then print( "overriding ", j) end
self.super[j] = onto[j]
onto[j] = k
end
end
end,
}
...
function FrameOverride:SetIndicator(indicator, color, text, value, maxValue, texture, start, duration, stack)
FrameOverride.super.SetIndicator(self, indicator, color, text, value, maxValue, texture, start, duration, stack)
...
--at the end of file
FrameOverride:apply(GridFrame.prototype)
This seems to play nicely. However, can we maybe try something like passing in an indicator object? Current indicator addons insert directly into the indicator table, so maybe inserting something with some extra (smarter) callbacks or automatically passed overrides would be handy, so it feels less like we are contorting Grid and more like Grid is exposing its extension features.
Okay, it looks like at least one indicator addon is trying to pull "frameClass" out of GridFrame and then replace it with its own override. frameClass held prototype and other methods like .prototype:AddIndicator, which were redefined by the indicator addon and then called using frameClass.super.prototype:AddIndicator.
It seems to me that GridFrame no longer has a frameClass exposed- probably because the target is expected to use the same class swap technique on prototype instead of frameclass. Except prototype holds some state, doesn't it?
There are a large number of grid indicator and status plugins that are no longer working. Some had failed to work even before the recent patch.
Is the documentation for indicators and custom statuses anywhere? At this point, these features are essential enough to me that I'll lend a hand fixing it.
I loaded it up in visual studio and grabbed the innerexception. A method being invoked on a new thread is throwing an exception (which is therefore unhandled, and causes the application to die). The inner exception seems to be that a domain cannot be resolved- wdnaddons.com
I suspect that wdnaddons.com is an ad site, but the method which retrieves the advertisements does not check for the dns record to be successfully queried. Adding wdnaddons.com to a dummy ip in my hosts file fixed the crash.
Hope that helps whoever works on this. Let me know if I can help further.
Edit: wdnaddons.com does, in fact, not resolve in my browser.
I'm *guessing* that Cal was using this as more or less an AIOI replacement, just merging all bags into one bar. AI has a sort by name/category thing that changes the order items are displayed in bars.
(Confusion like this might be avoided if AI came with a default bar configuration a la Eng*.
Just started using AI today. A bunch of my Soulbound items aren't categorized correctly? (Essentially, my hearthstone shows, but any soulbound gear is JUST gear.) Also, the category "Equipment (Non-Soulbound)" exists and has items in it (fishing poles, mining pick) but does not show in the SYSTEM (or any other) list to move.
Wait wait, now that I think about it, maybe this is related? Does Equipment (Non-Soulbound) show all nonsoulbound gear, and the other Equipment categories (head, chest, etc) show ONLY Soulbound gear?
0
You can find GridCornerText at http://forums.wowace.com/showpost.php?p=307989&postcount=3225
My fixed copy (he hasn't put his up yet) of GridStatusHots is at http://forums.wowace.com/showpost.php?p=307995&postcount=3228
I did not write any of these addons, only fixed them for this patch and the latest Grid.
Latest grid: http://wowace.com/addons/grid/
0
Edit by Phanx: Removed file attachment, and copied post to the appropriate thread.
0
I fixed the localization for all locales (or, at least, for enUS), and here's the post. It's working beautifully with cornerplus and cornertext. Yaay!
Next up, GridStatusHealthFade
0
0
But it is now.
Phanx- because there is no more AceOO, overriding SetIndicator/CreateIndicator requires some mangling of GridFrame.prototype. I tried doing it with metatables but that apparently causes tainting issues, because the contents of prototype are copied onto each GridFrame in InitializeFrame, and copying the metatable there causes securehandlers to bark.
Anyway, I'm attaching the zips of the two addons I have corrected so far- so far as I can. They both were using old AceConfig, and this is my first foray into lua, so I'm not 100% certain that they are feature complete- but they seem to work well enough.
The method I used to override is just a replacement. It looks like this:
This seems to play nicely. However, can we maybe try something like passing in an indicator object? Current indicator addons insert directly into the indicator table, so maybe inserting something with some extra (smarter) callbacks or automatically passed overrides would be handy, so it feels less like we are contorting Grid and more like Grid is exposing its extension features.
Are you interested in direct assistance, Phanx?
0
A post coming soon has this and GridIndicatorCornerText fixed as well.
0
It seems to me that GridFrame no longer has a frameClass exposed- probably because the target is expected to use the same class swap technique on prototype instead of frameclass. Except prototype holds some state, doesn't it?
Am I on the right track?
0
0
There are a large number of grid indicator and status plugins that are no longer working. Some had failed to work even before the recent patch.
Is the documentation for indicators and custom statuses anywhere? At this point, these features are essential enough to me that I'll lend a hand fixing it.
0
I suspect that wdnaddons.com is an ad site, but the method which retrieves the advertisements does not check for the dns record to be successfully queried. Adding wdnaddons.com to a dummy ip in my hosts file fixed the crash.
Hope that helps whoever works on this. Let me know if I can help further.
Edit: wdnaddons.com does, in fact, not resolve in my browser.
0
(Confusion like this might be avoided if AI came with a default bar configuration a la Eng*.
Just started using AI today. A bunch of my Soulbound items aren't categorized correctly? (Essentially, my hearthstone shows, but any soulbound gear is JUST gear.) Also, the category "Equipment (Non-Soulbound)" exists and has items in it (fishing poles, mining pick) but does not show in the SYSTEM (or any other) list to move.
Wait wait, now that I think about it, maybe this is related? Does Equipment (Non-Soulbound) show all nonsoulbound gear, and the other Equipment categories (head, chest, etc) show ONLY Soulbound gear?