fix: Dont OMEMO trust check so often

a26cdf386b / #2104 added OMEMO trust status to the
title bar, but it was being re-calculated on UI refresh.

Update only on certain operations (like `/omemo trust`, new device
discoveries and even incoming OMEMO messages for example).
This commit is contained in:
Michael Vetter
2026-03-09 11:38:51 +01:00
parent 0b46c32a71
commit 624585572e
7 changed files with 55 additions and 2 deletions

View File

@@ -994,6 +994,31 @@ _wins_get_next_available_num(GList* used)
}
}
void
wins_omemo_trust_changed(const char* const jid)
{
GList* curr = values;
while (curr) {
ProfWin* window = curr->data;
if (window->type == WIN_CHAT) {
ProfChatWin* chatwin = (ProfChatWin*)window;
if (jid == NULL || strcmp(chatwin->barejid, jid) == 0) {
#ifdef HAVE_OMEMO
chatwin->omemo_trusted = omemo_is_jid_trusted(chatwin->barejid);
#endif
}
} else if (window->type == WIN_MUC) {
ProfMucWin* mucwin = (ProfMucWin*)window;
if (jid == NULL || strcmp(mucwin->roomjid, jid) == 0) {
#ifdef HAVE_OMEMO
mucwin->omemo_trusted = omemo_is_jid_trusted(mucwin->roomjid);
#endif
}
}
curr = g_list_next(curr);
}
}
gboolean
wins_tidy(void)
{