9 - Savedvariables data gets corrupted
I was trying to reproduce the stack overflow problem and found something weird, here is step by step what I did:
* Delete global spell reminder saved variables (.lua and .lua.bak - do not touch per-character saved variables.
* login
* two anchors appear in center of screen (normal/emph)
* change both bars to grow uppwards, length to 260 pixels and set normal bar to 50% scale.
* logout
* login - bars now have correct size and scaling and are still in center of screen.
* disable bar flashing
* drag bars around a bit, cast a few spells to test them.
* logout
the global saved variables file is now 180Kbyte and contains alot of stuff refering to "LineGraph" and "TopPieChart". Searching in all saved variables and all addons, this info seems to somehow originate from the addon "Recount".
This file is attached to the ticket.
| Name | Size | MD5 |
|---|---|---|
| SpellReminder.lua | 179.0 KiB | 8f9ba218c1d2d0cc529726544e9f5c7a |
- 2 comments
- 2 comments
- #2
oridan Sat, 12 Sep 2009 16:45:13hi, please try r193 to see if it fixes your problems. Thanks :)
- #1
tlundse Mon, 10 Aug 2009 01:37:57tlundse said Friday, August 07, 2009 3:52:41 PM
I have the weirdest problem, it seems to be an
incompatibility between Recount and SpellReminder causing
SpellReminders saved variables to be corrupt. I have posted a
ticket for SpellReminder about this at
http://www.wowace.com/addons/spell-reminder/tickets/9-savedvariables-data-gets-corrupted/
but the author is on vacation I guess. I post this here in
hope that someone else has experienced the same problem or
that someone who is smarter than me has a look at it and
might find the problem :)
Elsia said Friday, August 07, 2009 5:41:35 PM
That's weird indeed. Some variable is global here that
shouldn't be. Could be Recount-side or in a library. I'll
investigate.
Elsia said Friday, August 07, 2009 5:59:28 PM
I suspect the problem is in this line of SpellReminder's
core.lua:
if relativeTo == nil then relativeTo = UIParent else
relativeTo = relativeTo:GetName() end
because frames may have no names. Basically ditching the else
clause might work...
tlundse said Saturday, August 08, 2009 4:27:27 PM
If the frame doesn't have a name, shouldn't it just become
nil then?
Elsia said Sunday, August 09, 2009 2:32:19 AM
Well he then calls SetPoint with relativeTo nil, if GetName
indeed does return that... not sure. In any case the code is
fishy. The frame info from recount's frame gets exactly
inserted into the relativeTo position there, so it has to be
somehow working with that. Certainly recount has no way of
guessing that position to add stuff there. My wild guess is
that GetName somehow returns a frame (possibly the last
created which looks to be Recount's graph window) and that's
being inserted for relativeTo. Certainly using GetName in
this context is buggy, even if that's not causing the
pollution. Just try if fixing that line to:
if relativeTo == nil then relativeTo = UIParent end
resolves the issue. I'm guessing that it does. If it doesn't
you'll have to wait for the author of that addon because I
cannot maintain everybody else's stuff...