summaryrefslogtreecommitdiff
path: root/internal/client/ui/core/state/state.go
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-01-10 17:37:49 +0200
committerKyren223 <Kyren223@proton.me>2025-01-10 17:37:49 +0200
commite829f852b4d68d90b8f7280585ecd21de0846313 (patch)
treee6077d5c72cbfedf5cba4f254eb5d814a3b62dbd /internal/client/ui/core/state/state.go
parentf0382c2f93c2676f9754a0a60a7e33099a19bdd3 (diff)
Fixed crashes
Diffstat (limited to 'internal/client/ui/core/state/state.go')
-rw-r--r--internal/client/ui/core/state/state.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/internal/client/ui/core/state/state.go b/internal/client/ui/core/state/state.go
index db5ab6a..2b71a75 100644
--- a/internal/client/ui/core/state/state.go
+++ b/internal/client/ui/core/state/state.go
@@ -75,6 +75,9 @@ func UpdateNetworks(info *packet.NetworksInfo) {
networks[network.ID] = network.Network
State.Frequencies[network.ID] = network.Frequencies
for _, member := range network.Members {
+ if State.Members[network.ID] == nil {
+ State.Members[network.ID] = map[snowflake.ID]data.Member{}
+ }
State.Members[network.ID][member.UserID] = member
}
@@ -136,12 +139,14 @@ func UpdateMessages(info *packet.MessagesInfo) {
}
func UpdateMembers(info *packet.MembersInfo) {
- members := State.Members[info.Network]
for _, member := range info.Members {
- members[member.UserID] = member
+ if State.Members[info.Network] == nil {
+ State.Members[info.Network] = map[snowflake.ID]data.Member{}
+ }
+ State.Members[info.Network][member.UserID] = member
}
for _, removedMember := range info.RemovedMembers {
- delete(members, removedMember)
+ delete(State.Members[info.Network], removedMember)
if removedMember != *State.UserID {
continue