View Single Post
05/08/15, 09:53 AM   #3
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,989
Thx for the ideas.
Unfortunately, in short: I already tested this :-(

-PreHooked the function that colors the tabs to see when it is nil
-Added debug chat messages
-Even now you can check the FCOChatTabBrain sources and will find many checks against ~= nil etc.
-About the not initialized part and time: As I wrote I even used zo_callLater to change the chat tab color later on after some MS, even after 2 seconds did not work.

Everytime I, with my client and pc, test if the tab control is there (I even have made it global to a FCOtest variable to see the contents etc. with ZGOO and used this one to change the color tab by help of /scripts), it is there.

So the code from ESO for the function colorizing the chat tabs looks like this:

Lua Code:
  1. function ZO_TabButton_Text_SetTextColor(self, color)
  2.     if(self.allowLabelColorChanges) then
  3.         local label = GetControl(self, "Text")
  4.         label:SetColor(color:UnpackRGBA())
  5.     end
  6. end

Line 571 is:
label:SetColor(color:UnpackRGBA())

The only two possibilities that might lead to a nil value error could be either:
-label is nil (checked this several times and it is even checked in my source code at the moment so it should never call this function if it is nil)
-the UnpackRGBA() function does not work as the color variable is nil
This color variable was checked too in my addon but currently I don't check it anymore.
for my pc, as sid above, it is always ~= nil

The color I'm using is: TAB_ALERT_TEXT_COLOR
So it might be this value.

It is defined in file \esoui\ingame\chatsystem\shardchatsystem.lua in line 39 as local variable:
local TAB_ALERT_TEXT_COLOR = ZO_SECOND_CONTRAST_TEXT

So this might be the problem then. But why don't I get an error, but others do?

I'll try to change the value in my addon to ZO_SECOND_CONTRAST_TEXT then to test it.
  Reply With Quote