mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-30 05:16:21 +00:00
Merge pull request #1896 from H3rnand3zzz/fix/reconnect-crash
Fix 2 crashes on reconnection
This commit is contained in:
@@ -6467,7 +6467,6 @@ cmd_reconnect(ProfWin* window, const char* const command, gchar** args)
|
|||||||
int intval = 0;
|
int intval = 0;
|
||||||
auto_char char* err_msg = NULL;
|
auto_char char* err_msg = NULL;
|
||||||
if (g_strcmp0(value, "now") == 0) {
|
if (g_strcmp0(value, "now") == 0) {
|
||||||
cons_show("Reconnecting now.");
|
|
||||||
cl_ev_reconnect();
|
cl_ev_reconnect();
|
||||||
} else if (strtoi_range(value, &intval, 0, INT_MAX, &err_msg)) {
|
} else if (strtoi_range(value, &intval, 0, INT_MAX, &err_msg)) {
|
||||||
prefs_set_reconnect(intval);
|
prefs_set_reconnect(intval);
|
||||||
|
|||||||
@@ -98,7 +98,14 @@ cl_ev_disconnect(void)
|
|||||||
void
|
void
|
||||||
cl_ev_reconnect(void)
|
cl_ev_reconnect(void)
|
||||||
{
|
{
|
||||||
if (connection_get_status() != JABBER_DISCONNECTED) {
|
jabber_conn_status_t conn_status = connection_get_status();
|
||||||
|
if (conn_status == JABBER_CONNECTING) {
|
||||||
|
cons_show_error("Reconnection aborted: Connection attempt is already in progress");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
cons_show("Reconnecting now.");
|
||||||
|
if (conn_status != JABBER_DISCONNECTED && conn_status != JABBER_DISCONNECTING) {
|
||||||
connection_disconnect();
|
connection_disconnect();
|
||||||
ev_disconnect_cleanup();
|
ev_disconnect_cleanup();
|
||||||
// on intentional disconnect reset the counter
|
// on intentional disconnect reset the counter
|
||||||
|
|||||||
@@ -312,7 +312,10 @@ win_get_title(ProfWin* window)
|
|||||||
{
|
{
|
||||||
const ProfChatWin* chatwin = (ProfChatWin*)window;
|
const ProfChatWin* chatwin = (ProfChatWin*)window;
|
||||||
assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
|
assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
|
||||||
const PContact contact = roster_get_contact(chatwin->barejid);
|
PContact contact = NULL;
|
||||||
|
if (roster_exists()) {
|
||||||
|
contact = roster_get_contact(chatwin->barejid);
|
||||||
|
}
|
||||||
if (!contact) {
|
if (!contact) {
|
||||||
return g_strdup(chatwin->barejid);
|
return g_strdup(chatwin->barejid);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user