GridStatusRaidDebuff2

5 - Error in adding debuffs

What steps will reproduce the problem?
1.Load Siege of Orgrimmar raid debuffs under status Raid Debuffs in Grid
2.type spell Id of desired debuff you wish to add in Import Debuff box (I was trying to add back in the Malkorak Ancient Barrier shield levels which are not automatically detected by the plugin)
3.Hit ok

What is the expected output? What do you see instead?
I expected the added debuff to be placed in the list of Siege of Orgrimmar raid debuffs, but instead I got an LUA error message which I have posted below and the debuffs were not added to the list.

What version of the product are you using?
Grid Version: 6.0.2.1699
Grid Status Raid Debuff2: r22
GridStatusRD_MoP: r28
Do you have an error log of what happened?

Message: Interface\AddOns\GridStatusRaidDebuff\Core.lua:740: attempt to index field '?' (a nil value)
Time: 10/28/14 21:27:24
Count: 2
Stack: Interface\AddOns\GridStatusRaidDebuff\Core.lua:740: in function <Interface\AddOns\GridStatusRaidDebuff\Core.lua:736>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[2]"]:9: in function <[string "safecall Dispatcher[2]"]:5>
(tail call): ?
...rid\Libs\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:799: in function <...rid\Libs\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:614>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[3]"]:9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?
Interface\AddOns\Grid\Libs\AceGUI-3.0\AceGUI-3.0.lua:314: in function `Fire'
...rid\Libs\AceGUI-3.0\widgets\AceGUIWidget-EditBox.lua:74: in function <...rid\Libs\AceGUI-3.0\widgets\AceGUIWidget-EditBox.lua:71>
...rid\Libs\AceGUI-3.0\widgets\AceGUIWidget-EditBox.lua:120: in function <...rid\Libs\AceGUI-3.0\widgets\AceGUIWidget-EditBox.lua:117>

Locals: <none>

Please provide any additional information below.
Before the 6.0 patch and current updates to both Grid and the Grid Status raid debuff plugins I was able to add these debuffs in with no problem, but since the patch I get this error. With the huge overhaul to Grid I reset my grid saved variables to make sure I didn't have any older files that might cause problems with Grid, but now it won't let me add those back in. I have not tried to add any others to see if it is just those causing problems. Also my detected debuffs are no longer being placed in the appropriate zone they belong, but are being listed under the zone from which I queued for the instance, in my case Undercity since I was there doing the Hallow's End event quests. I'm also running Gridindicatorsdynamic v6.0.2.5, but I was getting this error before I started running that plugin so I'm not sure if it is it causing the problem.
Thanks so much for your time

User When Change
stassart Oct 30, 2014 at 08:26 UTC Changed status from Waiting to Replied
stassart Oct 30, 2014 at 08:19 UTC Changed status from New to Waiting
stassart Oct 29, 2014 at 02:59 UTC Changed status from Accepted to New
stassart Oct 29, 2014 at 02:58 UTC Changed status from New to Accepted
Emberlorin Oct 29, 2014 at 02:10 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Emberlorin Emberlorin Nov 07, 2014 at 23:41 UTC - 0 likes

    @stassart: Go

    Hey stassart,

    Sorry for the delayed response. I was waiting til I had a chance to test this version before I replied back. Yeah everything seems to be working great now for me as well :) . Thank you so much for your time and work on fixing the issue :) . I really appreciate it. It has been a joy using your plugin to Grid. It has helped me become a better and more aware healer. I look forward to continue using it into Warlords :) .

    Take Care and Thank you,

    Ember

  • Avatar of stassart stassart Nov 07, 2014 at 08:57 UTC - 0 likes

    I went ahead and marked the version beta as it seemed to fix the issue for me and the fix is behaving fine in my testing.

  • Avatar of stassart stassart Nov 04, 2014 at 04:56 UTC - 0 likes

    Please give r24 (still marked alpha) a try, http://www.curseforge.com/media/files/828/270/GridStatusRaidDebuff-r24.zip, and let me know if it does or doesn't fix the issue for you.

  • Avatar of Emberlorin Emberlorin Nov 04, 2014 at 00:42 UTC - 0 likes

    @stassart: Go

    Hey stassart,

    Aww sorry for the misunderstanding. Thanks so much for the heads-up. That's ok no worries, no rush :) . Thanks so much again for your time and continued work on a wonderful addition to Grid :) .

    Ember

  • Avatar of stassart stassart Nov 03, 2014 at 06:34 UTC - 0 likes

    The mapid returned by UnitPosition doesn't match the mapid used by GetMapNameByID. I am not sure how to use the mapid returned by UnitPosition. DBM is just using it to compare the mapid of the other player to the player to see if they are on the same map.

    The bug in this addon when using GetCurrentMapAreaID() was not calling SetMapToCurrentZone() first. It works fine if there is another addon that calls it first, and the GridStatusRaidDebuff code also works if GetInstanceInfo() returns the right instance name and debuffs for the zone already exist. As I said below, the issue with GetInstanceInfo() is that it doesn't always return the right zone name in every language.

    	-- Force map to right zone
    	SetMapToCurrentZone()
    	local mapid = GetCurrentMapAreaID()
    

    This fix and the fix for the import issue are checked into r24, which will initially be marked alpha until I do a little more testing.

    Last edited Nov 03, 2014 by stassart
  • Avatar of stassart stassart Nov 03, 2014 at 00:00 UTC - 0 likes

    Just to be clear the r23 beta does not fix this issue yet. I probably won't have time to test the fix until tonight.

  • Avatar of Emberlorin Emberlorin Nov 02, 2014 at 23:39 UTC - 0 likes

    @stassart: Go

    Hey stassart,

    Sorry I haven't been home and I am just now seeing your comments. That's ok no worries :) . I didn't think to troubleshoot out other addons that might be interfering before I made the ticket. Sorry yeah I always try and reset my variables with large game patches or updates to addons just in case those older files could cause bugs. I'm glad you were able to pin point the possible cause of the error and detected debuff placement.

    Thanks so much for the beta releases for Grid Status Raid Debuff 2 and Grid Status RD MoP. I haven't had a chance yet to try them out, but if I notice any bugs I will let you know. Thanks so much again for your updates and time toward my issue :) .

    Ember

  • Avatar of stassart stassart Nov 02, 2014 at 20:05 UTC - 0 likes

    DBM-Core, changed from using:

    local currentMapId = GetCurrentMapAreaID()

    to using:

    local currentMapId = select(4, UnitPosition("player"))

    Which is a new call in 6.0.2. I will need to test if this fixes the issue.

  • Avatar of stassart stassart Nov 02, 2014 at 19:49 UTC - 0 likes

    There seems to be two issues in your ticket. I don't know why they have become issues in 6.0 yet.

    The first one I have a fix for, the second one I am working on a fix for. I will check in a new version once I have fixes for both.

    The first issue was importing new debuffs to a zone with no detected_debuffs:

    				["import debuff"] = {
    					type = "input",
    					name = L["Import Debuff"],
    					desc = L["Import Debuff Desc"],
    					get = false,
    					usage = "SpellID",
    					set = function(_, v)
    						local name = GetSpellInfo(v)
    						-- self:Debug("Import", zone, name, v)
    						if name then						  
            						self:DebuffLocale(zone, name, v, 5, 5, true, true)
    							if not self.db.profile.detected_debuff[zone] then
    								self.db.profile.detected_debuff[zone] = {}
    							end
    							if not self.db.profile.detected_debuff[zone][name] then 
    								self.db.profile.detected_debuff[zone][name] = v
    								self:LoadZoneDebuff(zone, name)
    								self:UpdateAllUnit() 
    							end
    						end
    					end,
    				},
    

    The second issue is with:

    function GridStatusRaidDebuff:ZoneCheck()
    	-- localzone and realzone should be the same, but sometimes they are not
    	-- For example, in German Throne of Thunders
    	-- localzone = "Der Thron des Donners"
    	-- instzone = "Thron des Donners"
    	local instzone
    	local mapid = GetCurrentMapAreaID()
    	local localzone = GetMapNameByID(mapid)
    
    	-- zonetype is a module variable
    	instzone, zonetype = GetInstanceInfo()
    
    	-- Preference is for localzone, but fall back to instzone if it is all that exists
    	if debuff_list[instzone] and not debuff_list[localzone] then
    		realzone = instzone
    	else
    		realzone = localzone
    	end
    

    If the debuffs already exist for the zone, it is using the instzone variable. Otherwise it is using localzone. localzone is more often correct than instzone in the past.

    The issue apparently in 6.0, on ZONE_CHANGED_NEW_AREA:

    self:RegisterEvent("ZONE_CHANGED_NEW_AREA", "ZoneCheck")

    When this event triggers GetCurrentMapAreaID() still has the map for the zone you were zoned in from, GetInstanceInfo() appears to be correct.

    If you /run GridStatusRaidDebuff:ZoneCheck() after zoning in, it corrects the zone.

    I need to take a look at other addons that use GetCurrentMapAreaID() in 6.0 and see if they changed when they perform the check.

  • Avatar of stassart stassart Nov 02, 2014 at 09:59 UTC - 0 likes

    I've been able to reproduce it starting over with a fresh WTF and trying to configure the addon fresh. I should have thought of trying that earlier especially since you mentioned you reset all your settings.

    So this issue appears to be happening for "new" users.

    I am working on debugging it now that I can reproduce it.

Facts

Last updated
Oct 30, 2014
Reported
Oct 29, 2014
Status
Replied - Someone has replied after waiting for more information.
Type
Defect - A shortcoming, fault, or imperfection
Priority
Medium - Normal priority.
Votes
0

Reported by

Possible assignees