Error with TWW pre-patch (11.0)
Gaviin1242 opened this issue ยท 3 comments
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
}
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"
}
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.
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)