1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

OTR end messages are now send to recipients not in the roster.

fixes #333
This commit is contained in:
James Booth 2014-04-18 23:29:22 +01:00
parent 2451b7b1ca
commit fadad0aeba
2 changed files with 16 additions and 4 deletions

View File

@ -32,6 +32,10 @@
#include "contact.h"
#include "ui/ui.h"
#define PRESENCE_ONLINE 1
#define PRESENCE_OFFLINE 0
#define PRESENCE_UNKNOWN -1
static OtrlUserState user_state;
static OtrlMessageAppOps ops;
static char *jid;
@ -49,10 +53,14 @@ cb_is_logged_in(void *opdata, const char *accountname,
const char *protocol, const char *recipient)
{
PContact contact = roster_get_contact(recipient);
if (contact == NULL) {
return PRESENCE_ONLINE;
}
if (g_strcmp0(p_contact_presence(contact), "offline") == 0) {
return 0;
return PRESENCE_OFFLINE;
} else {
return 1;
return PRESENCE_ONLINE;
}
}

View File

@ -157,11 +157,15 @@ _title_bar_draw(void)
waddch(win, ' ');
mvwprintw(win, 0, 0, " %s", current_title);
#ifdef HAVE_LIBOTR
// show privacy
if (current_recipient != NULL) {
char *recipient_jid = roster_barejid_from_name(current_recipient);
char *recipient_jid = NULL;
if (roster_find_contact(current_recipient) != NULL) {
recipient_jid = roster_barejid_from_name(current_recipient);
} else {
recipient_jid = current_recipient;
}
ProfWin *current = wins_get_by_recipient(recipient_jid);
if (current != NULL) {
if (current->type == WIN_CHAT) {