Mapster

Mapster

10M Downloads

Error with TWW pre-patch (11.0)

Gaviin1242 opened this issue ยท 3 comments

commented

Getting this error when switching the map viewing a Dragon Isles zone:

11x Mapster/Mapster.lua:270: attempt to index field 'Texture' (a nil value)
[string "@Mapster/Mapster.lua"]:270: in function <Mapster/Mapster.lua:268>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `OnAcquired'
[string "@Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:207: in function `AcquirePin'
[string "@Blizzard_SharedMapDataProviders/BonusObjectiveDataProvider.lua"]:97: in function <...haredMapDataProviders/BonusObjectiveDataProvider.lua:92>
[string "=[C]"]: in function `xpcall'
[string "@Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:76: in function `FireCallbacks'
[string "@Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:35: in function <.../Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua:31>
[string "=[C]"]: in function `accessor'
[string "@Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:52: in function `AddCallback'
[string "@Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:60: in function `AddCancelableCallback'
[string "@Blizzard_SharedMapDataProviders/BonusObjectiveDataProvider.lua"]:92: in function `RefreshAllData'
[string "@Blizzard_MapCanvas/MapCanvas_DataProviderBase.lua"]:76: in function `OnMapChanged'
[string "@Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:593: in function <...aceBlizzard_MapCanvas/Blizzard_MapCanvas.lua:592>
[string "=[C]"]: in function `secureexecuterange'
[string "@Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:596: in function `OnMapChanged'
[string "@Blizzard_WorldMap/Blizzard_WorldMap.lua"]:295: in function <...rfaceBlizzard_WorldMap/Blizzard_WorldMap.lua:294>
[string "=[C]"]: in function `OnMapChanged'
[string "@Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:60: in function `SetMapID'
[string "@Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:812: in function `NavigateToCursor'
[string "@Blizzard_MapCanvas/MapCanvas_ScrollContainerMixin.lua"]:111: in function <...lizzard_MapCanvas/MapCanvas_ScrollContainerMixin.lua:102>

Locals:
self = <table> {
 baseName = "Mapster"
 optionsButton = MapsterOptionsButton {
 }
 defaultModuleState = true
 hooks = <table> {
 }
 db = <table> {
 }
 enabledState = true
 defaultModuleLibraries = <table> {
 }
 name = "Mapster"
 orderedModules = <table> {
 }
 optionsFrames = <table> {
 }
 UIHider = Frame {
 }
 elementsToHide = <table> {
 }
 modules = <table> {
 }
}
pin = Button {
 shouldShowGlow = true
 Display = Frame {
 }
 NormalTexture = Texture {
 }
 selected = false
 questID = 65892
 normalizedX = 0.637042
 type = 2
 normalizedY = 0.175753
 isSuperTracked = false
 HighlightTexture = Texture {
 }
 pinTemplate = "BonusObjectivePinTemplate"
 PushedTexture = Texture {
 }
 style = 9
 isCombatAllyQuest = false
 isQuestStart = false
 startScale = 1
 numObjectives = 1
 scaleFactor = 1
 pinFrameLevelType = "PIN_FRAME_LEVEL_BONUS_OBJECTIVE"
 Glow = Texture {
 }
 pinScale = 1
 endScale = 1
 dataProvider = <table> {
 }
 owningMap = WorldMapFrame {
 }
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = 30
(*temporary) = 30
(*temporary) = "attempt to index field 'Texture' (a nil value)"
db = <table> {
 arrowScale = 1
 ejScale = 1
 alpha = 1
 scale = 1.550000
 mini = <table> {
 }
 questPanels = 0
 enableScaling = true
 modules = <table> {
 }
 x = -10.666264
 disableMouse = false
 fadealpha = 0.500000
 hideMapButton = false
 point = "TOP"
 poiScale = 1
 y = -55.990996
}
commented

Same

28x Mapster/Mapster.lua:270: attempt to index field 'Texture' (a nil value)
[string "@Mapster/Mapster.lua"]:270: in function <Mapster/Mapster.lua:268>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `OnAcquired'
[string "@Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:207: in function `AcquirePin'
[string "@Blizzard_SharedMapDataProviders/BonusObjectiveDataProvider.lua"]:97: in function <...haredMapDataProviders/BonusObjectiveDataProvider.lua:92>
[string "=[C]"]: in function `xpcall'
[string "@Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:76: in function `FireCallbacks'
[string "@Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:35: in function <.../Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua:31>
[string "=[C]"]: in function `accessor'
[string "@Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:52: in function `AddCallback'
[string "@Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:60: in function `AddCancelableCallback'
[string "@Blizzard_SharedMapDataProviders/BonusObjectiveDataProvider.lua"]:92: in function `RefreshAllData'
...
[string "@Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:60: in function `SetMapID'
[string "@Blizzard_WorldMap/Blizzard_WorldMap.lua"]:306: in function <...rfaceBlizzard_WorldMap/Blizzard_WorldMap.lua:304>
[string "=[C]"]: ?
[string "=[C]"]: in function `Show'
[string "@Blizzard_UIParentPanelManager/Mainline/UIParentPanelManager.lua"]:866: in function <...ParentPanelManager/Mainline/UIParentPanelManager.lua:852>
[string "=[C]"]: in function `ShowUIPanel'
[string "@Blizzard_WorldMap/QuestLogOwnerMixin.lua"]:106: in function `SetDisplayState'
[string "@Blizzard_WorldMap/QuestLogOwnerMixin.lua"]:42: in function `HandleUserActionToggleSelf'
[string "@Blizzard_WorldMap/Blizzard_WorldMap.lua"]:503: in function `ToggleWorldMap'
[string "TOGGLEWORLDMAP"]:1: in function <[string "TOGGLEWORLDMAP"]:1>

Locals:
self = <table> {
 baseName = "Mapster"
 optionsButton = MapsterOptionsButton {
 }
 defaultModuleState = true
 hooks = <table> {
 }
 db = <table> {
 }
 enabledState = true
 defaultModuleLibraries = <table> {
 }
 name = "Mapster"
 orderedModules = <table> {
 }
 optionsFrames = <table> {
 }
 UIHider = Frame {
 }
 elementsToHide = <table> {
 }
 modules = <table> {
 }
}
pin = Button {
 shouldShowGlow = true
 Display = Frame {
 }
 NormalTexture = Texture {
 }
 selected = false
 questID = 65892
 normalizedX = 0.637042
 type = 2
 normalizedY = 0.175753
 isSuperTracked = false
 HighlightTexture = Texture {
 }
 pinTemplate = "BonusObjectivePinTemplate"
 PushedTexture = Texture {
 }
 style = 9
 isCombatAllyQuest = false
 isQuestStart = false
 startScale = 1
 numObjectives = 1
 scaleFactor = 1
 pinFrameLevelType = "PIN_FRAME_LEVEL_BONUS_OBJECTIVE"
 Glow = Texture {
 }
 pinScale = 1
 endScale = 1
 dataProvider = <table> {
 }
 owningMap = WorldMapFrame {
 }
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = 27
(*temporary) = 27
(*temporary) = "attempt to index field 'Texture' (a nil value)"
db = <table> {
 arrowScale = 0.900000
 ejScale = 0.800000
 scale = 1
 alpha = 0.800000
 hideMapButton = false
 y = -53.070200
 x = 10.906875
 disableMouse = false
 fadealpha = 0.500000
 poiScale = 0.900000
 modules = <table> {
 }
 point = "TOP"
}

commented

I'm not sure, what this function does, but you can add two lines and the error is gone.

  • Go into "Mapster.lua"
  • Find line 270: it should read "pin.Texture:SetScale(db.poiScale)"
  • Add a new line before that and add the following: "if pin.Texture ~= nil then"
  • Add a new line after that and add the following: "end"

You've effectively disabled that function when a nil value is sent to it. So it might lose that functionality, but since it seems to concern BonusQuestPOIs, I can live with that until it gets fixed by the author.

commented

Ok, I dug a little deeper...

It seems the BonusQuestPOIs are treated the same as the regular QuestPOIs. I looked at the complete "pin" information and that includes "Display", "NormalTexture", "PushedTexture" and "HighlightTexture".

So to make it work as before you can replace the line 270: pin.Texture:SetScale(db.poiScale)
with these 4 lines:
pin.Display:SetScale(db.poiScale)
pin.NormalTexture:SetScale(db.poiScale)
pin.PushedTexture:SetScale(db.poiScale)
pin.HighlightTexture:SetScale(db.poiScale)