Thread Tools Display Modes
Prev Previous Post   Next Post Next
09/02/15, 10:26 PM   #1
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
Two 100012 Bugs

Chat Tab Overflow Bug:
See here for full details: Chat Window width & Tabs

Short Detais: Tabs are being placed in the overflow container area when it is not necessary.

The dimensions of the ZO_ChatSystem has a set width of 350 in xml and (as of 100012) the dimensions are not reset from the saved settings until after you call SharedChatContainer.LoadSettings(...). But that LoadSettings() is what (eventually) calls PerformLayout() which places tabs in the overflow area. So it thinks the controls width is still 350 because the saved setting dimensions have not been reset yet.

When you pulled the SetAnchor & SetDimension code out of SharedChatContainer.LoadSettings you reversed the order the code is called in.

Warning: Spoiler




Chat Container Creation Bug:
See here for full details: CHAT ERROR SPAM

Short Details: Attempting to create chat containers for multiple chat windows causes errors. I know its not a finished/enabled feature, but they are errors that do not go away by reloading the UI, uninstalling an addon, or reinstalling (or so I was told, see post I linked, so I guess the NumChatContainers must be saved server side).

In the previous game version the CHAT_SYSTEM container.control child newWindowTab used to be defined in SharedChatSystem.xml and it was a child of ZO_ChatContainerTemplate. So when a new container was created (by the containerPool) using ZO_ChatContainerTemplate, the newWindowTab was there to grab. But newWindowTab has been moved to ChatSystem.xml and made a child of ZO_ChatWindow as of version 100012

So now when a new container is created (by the containerPool) using ZO_ChatContainerTemplate the newWindowTab child does not exist. ChatContainer:Initialize() attempts to grab the child newWindowTab (but it no longer exists for windows other than ZO_ChatWindow) and pass it to ZO_TabButton_Icon_Initialize which throws an error because self is nil (its supposed to be the container.control child newWindowTab). Therefore the container never gets created, but since the numChatContainers is saved in game code or server side reloading the ui or uninstalling an addon does not fix it.

If you want to simulate this error for testing you can just call:
Lua Code:
  1. AddChatContainer()
  2.  
  3. -- You don't even need to turn on:
  4. CHAT_SYSTEM:SetAllowMultipleContainers(true)

While I'm at it, I might as well throw this out there. For new chat container controls created (not ZO_ChatWindow) the game does not properly anchor container.windowContainer, causing it & the container.currentBuffer to have dimensions 0,0.

Last edited by circonian : 09/03/15 at 09:47 PM.
  Reply With Quote
 

ESOUI » Developer Discussions » General Authoring Discussion » Two 100012 Bugs


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off