|
@@ -545,11 +545,14 @@ func (channel *Channel) ClientStatus(client *Client) (present bool, joinTimeSecs
|
545
|
545
|
|
546
|
546
|
// helper for persisting channel-user modes for always-on clients;
|
547
|
547
|
// return the channel name and all channel-user modes for a client
|
548
|
|
-func (channel *Channel) alwaysOnStatus(client *Client) (chname string, status alwaysOnChannelStatus) {
|
|
548
|
+func (channel *Channel) alwaysOnStatus(client *Client) (ok bool, chname string, status alwaysOnChannelStatus) {
|
549
|
549
|
channel.stateMutex.RLock()
|
550
|
550
|
defer channel.stateMutex.RUnlock()
|
551
|
551
|
chname = channel.name
|
552
|
|
- data := channel.members[client]
|
|
552
|
+ data, ok := channel.members[client]
|
|
553
|
+ if !ok {
|
|
554
|
+ return
|
|
555
|
+ }
|
553
|
556
|
status.Modes = data.modes.String()
|
554
|
557
|
status.JoinTime = data.joinTime
|
555
|
558
|
return
|