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:
function SharedChatSystem:ShowTextEntryMenu()
...
if data.target then
AddMenuItem(switch, function() self:StartTextEntry(switch .. " ") end, nil, nil, itemColor)
else
AddMenuItem(switch, function() self:SetChannel(data.id) end, nil, nil, itemColor)
end
...
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:
AddMenuItem(switch, function() self:StartTextEntry(switch .. " ") end, nil, nil, itemColor)
But since they are not passing the channel to the function:
Lua Code:
function SharedChatSystem:StartTextEntry(text, channel, target)
if not self.currentChannel or channel then
self:SetChannel(channel or CHAT_CHANNEL_SAY, target)
end
...
end
That code never runs & the channel never gets set.
The function:
Lua Code:
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:
function SharedChatSystem:ShowTextEntryMenu()
...
if data.target then
--==== it should have also passed the channel here (data.id) ====--
AddMenuItem(switch, function() self:StartTextEntry(switch .. " ", data.id) end, nil, nil, itemColor)
else
AddMenuItem(switch, function() self:SetChannel(data.id) end, nil, nil, itemColor)
end
...
end