funkydude / BasicMinimap

BasicMinimap is a basic solution to a clean, square minimap for World of Warcraft.
17 stars 10 forks source link

Cannot open settings dialogue after upgrading to 8.2.1 #36

Closed layday closed 5 years ago

layday commented 5 years ago

I receive the following error when I try to open the settings dialogue using /bm:

1x BasicMinimap_Options\Options-Options.lua:474: bad argument #1 to 'type' (value expected)
[C]: in function `type'
BasicMinimap_Options\Options-Options.lua:474: in main chunk
[C]: in function `LoadAddOn'
BasicMinimap\BasicMinimap-v8.2.1.lua:21: in function `?'
FrameXML\ChatFrame.lua:4836: in function `ChatEdit_ParseText'
FrameXML\ChatFrame.lua:4497: in function `ChatEdit_SendText'
FrameXML\ChatFrame.lua:4533: in function `ChatEdit_OnEnterPressed'
[string "*:OnEnterPressed"]:1: in function <[string "*:OnEnterPressed"]:1>

Locals:

And, as a result:

1x BasicMinimap\BasicMinimap-v8.2.1.lua:22: BasicMinimap isn't registed with AceConfigRegistry, unable to open config
[C]: ?
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0-78.lua:1861: in function `Open'
BasicMinimap\BasicMinimap-v8.2.1.lua:22: in function `?'
FrameXML\ChatFrame.lua:4836: in function `ChatEdit_ParseText'
FrameXML\ChatFrame.lua:4497: in function `ChatEdit_SendText'
FrameXML\ChatFrame.lua:4533: in function `ChatEdit_OnEnterPressed'
[string "*:OnEnterPressed"]:1: in function <[string "*:OnEnterPressed"]:1>

Locals:
(*temporary) = "BasicMinimap isn't registed with AceConfigRegistry, unable to open config"

It looks like GetZonePVPInfo might not return anything (not even nil) and type raises when not given a value. If you have war mode off in a non-PVP zone, this is exactly what will happen. The following fixed it for me:

@@ -471,7 +471,7 @@ local acOptions = {
                                                        end,
                                                },
                                                colorDesc = {
-                                                       name = L.currentZone:format(type(GetZonePVPInfo()) == "string" and L[GetZonePVPInfo()] or L.normal),
+                                                       name = L.currentZone:format(type(GetZonePVPInfo() or nil) == "string" and L[GetZonePVPInfo()] or L.normal),^M
                                                        order = 9.5, type = "description", width = "full",
                                                },
                                                colorNormal = {
layday commented 5 years ago

Thanks for the quick fix.