Thread Tools Display Modes
07/13/15, 09:10 AM   #1
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
[fixed] Little bug in chat since last update (can't type anymore).

Hello,

I'm permit myself to submit a little bug that french users seems to get since last update. because I don't have it myself (because i'm using an addon which rewrite a lot the chatbox), I tried to reproduce it without any addons .. this bug get's its topic on Officials forums, but I didn't found any complaints in other languages, it's maybe not french related bug !


So :

First It should have been pulled in code after 2.0.8. But I don't know which patch precisly.
Folks complains for this problems since few weeks. If you got an idea.

The bug is pretty simple :
  • You can't type in chat entry box anymore.
  • Hit "enter" does nothing.
  • Clicking on entry box does nothing
  • You can use the "/" but it will be the only string inserted in the entry box. you won't have focus to type.
  • And you'll be blocked in cursormode. (so you can't move camera).


With an old addon (ChatMultiWindow) I can reproduce the bug with a 99% chance) by just enabling it.
After looking at this old addon code, it's this code which bug the thing :

Lua Code:
  1. ZO_ChatWindowTextEntryEditBox:SetHandler("OnFocusLost",     ChatMultiWindow.OnFocusLost)
  2.  
  3. function ChatMultiWindow.OnFocusLost(self)
  4.     for i=GetNumChatContainers(), 2, -1  do
  5.         CHAT_SYSTEM.containers[i].fadeAnim.m_fadeTimeline:PlayForward()
  6.         for j=1, #CHAT_SYSTEM.containers[i].windows do
  7.             CHAT_SYSTEM.containers[i].windows[j].buffer:SetLineFade(25, 2)
  8.         end
  9.     end
  10. end



I greatly think it's related so, If ZOS want have a look, just do without any addon in any language :


- /reloadui
- Hit "enter" to go in cursor mode
- click on the Say label next to entry box to get the switch list
- choose /tell
- You're bugged

To unbug, you can simply choose another switch.
But for people who related me this problem, only a reloadui can help. And they can't say how they triggerred it.

Also with the old addon listed above, the switch don't help a lot, bug come back very quickly.
Because this bug just looks like a lot that ours, I think if you can fix this one, the other one will be fixed.


Thank you!

Last edited by Ayantir : 07/13/15 at 09:22 AM.
 
07/13/15, 09:56 AM   #2
votan
 
votan's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2014
Posts: 577
A similar issue is reported here: Harven's Chat Completion
It is reproducable (with german client) as described there. And I posted a fix for it.
The important part is:
control.system:GetEditControl():TakeFocus()
 
07/13/15, 12:24 PM   #3
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
I can reproduce this 100% of the time without any addons & without doing anything special, just clicking on the label & selecting "/tell" does it every time.

It appears that in:
Lua Code:
  1. function SharedChatSystem:ShowTextEntryMenu()
  2.    ...
  3.    if data.target then
  4.       AddMenuItem(switch, function() self:StartTextEntry(switch .. " ") end, nil, nil, itemColor)
  5.    else
  6.       AddMenuItem(switch, function() self:SetChannel(data.id) end, nil, nil, itemColor)
  7.    end
  8.   ...
  9. end

The "/tell" switch is the only one that requires a target & thus the only one that gets added to the menu with:
Lua Code:
  1. AddMenuItem(switch, function() self:StartTextEntry(switch .. " ") end, nil, nil, itemColor)

But since they are not passing the channel to the function:
Lua Code:
  1. function SharedChatSystem:StartTextEntry(text, channel, target)
  2.     if not self.currentChannel or channel then
  3.         self:SetChannel(channel or CHAT_CHANNEL_SAY, target)  
  4.     end
  5.  ...
  6. end
That code never runs & the channel never gets set.

The function:
Lua Code:
  1. function SharedChatSystem:SetChannel(newChannel, channelTarget)
is also the function that assigns focus to the control. Since the channel never gets set for the "/tell" switch, it never gets focus either.

It looks like it should have been:
Lua Code:
  1. function SharedChatSystem:ShowTextEntryMenu()
  2.    ...
  3.    if data.target then
  4.       --==== it should have also passed the channel here (data.id) ====--
  5.       AddMenuItem(switch, function() self:StartTextEntry(switch .. " ", data.id) end, nil, nil, itemColor)
  6.    else
  7.       AddMenuItem(switch, function() self:SetChannel(data.id) end, nil, nil, itemColor)
  8.    end
  9.   ...
  10. end
 
07/13/15, 01:47 PM   #4
votan
 
votan's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2014
Posts: 577
Yep. In Harven's Chat Completion the function StartTextEntry is called with a text only, too.

This is one way to fix it:
Code:
do
	local orgStartTextEntry = SharedChatSystem.StartTextEntry
	function SharedChatSystem:StartTextEntry(text, channel, ...)
		orgStartTextEntry(self, text, channel or self.currentChannel or CHAT_CHANNEL_SAY, ...)
	end
end
That's something for merlight's Aid ZO UI Fixes, I think
 
07/13/15, 02:17 PM   #5
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
Originally Posted by votan View Post
That's something for merlight's Aid ZO UI Fixes, I think
Yeah thats what I was thinking it would be a good addition.
 
07/14/15, 12:59 PM   #6
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
We put in a fix for this internally. There was actually quite a bit of oddness with that menu that we cleaned up.
 

ESOUI » Developer Discussions » Bug Reports » [fixed] Little bug in chat since last update (can't type anymore).

Thread Tools
Display Modes

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