parent
46e449f110
commit
1a3bfdce75
|
@ -48,6 +48,7 @@
|
||||||
#include "text.h"
|
#include "text.h"
|
||||||
#include "ctcp.h"
|
#include "ctcp.h"
|
||||||
#include "hexchatc.h"
|
#include "hexchatc.h"
|
||||||
|
#include "chanopt.h"
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -583,6 +584,7 @@ inbound_ujoin (server *serv, char *chan, char *nick, char *ip,
|
||||||
const message_tags_data *tags_data)
|
const message_tags_data *tags_data)
|
||||||
{
|
{
|
||||||
session *sess;
|
session *sess;
|
||||||
|
int found_unused = FALSE;
|
||||||
|
|
||||||
/* already joined? probably a bnc */
|
/* already joined? probably a bnc */
|
||||||
sess = find_channel (serv, chan);
|
sess = find_channel (serv, chan);
|
||||||
|
@ -594,6 +596,7 @@ inbound_ujoin (server *serv, char *chan, char *nick, char *ip,
|
||||||
{
|
{
|
||||||
/* find a "<none>" tab and use that */
|
/* find a "<none>" tab and use that */
|
||||||
sess = find_unused_session (serv);
|
sess = find_unused_session (serv);
|
||||||
|
found_unused = sess != NULL;
|
||||||
if (!sess)
|
if (!sess)
|
||||||
/* last resort, open a new tab/window */
|
/* last resort, open a new tab/window */
|
||||||
sess = new_ircwindow (serv, chan, SESS_CHANNEL, 1);
|
sess = new_ircwindow (serv, chan, SESS_CHANNEL, 1);
|
||||||
|
@ -601,6 +604,11 @@ inbound_ujoin (server *serv, char *chan, char *nick, char *ip,
|
||||||
}
|
}
|
||||||
|
|
||||||
safe_strcpy (sess->channel, chan, CHANLEN);
|
safe_strcpy (sess->channel, chan, CHANLEN);
|
||||||
|
if (found_unused)
|
||||||
|
{
|
||||||
|
chanopt_load (sess);
|
||||||
|
scrollback_load (sess);
|
||||||
|
}
|
||||||
|
|
||||||
fe_set_channel (sess);
|
fe_set_channel (sess);
|
||||||
fe_set_title (sess);
|
fe_set_title (sess);
|
||||||
|
|
|
@ -79,7 +79,10 @@ scrollback_get_filename (session *sess)
|
||||||
g_free (buf);
|
g_free (buf);
|
||||||
|
|
||||||
chan = log_create_filename (sess->channel);
|
chan = log_create_filename (sess->channel);
|
||||||
|
if (chan[0])
|
||||||
buf = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "scrollback" G_DIR_SEPARATOR_S "%s" G_DIR_SEPARATOR_S "%s.txt", get_xdir (), net, chan);
|
buf = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "scrollback" G_DIR_SEPARATOR_S "%s" G_DIR_SEPARATOR_S "%s.txt", get_xdir (), net, chan);
|
||||||
|
else
|
||||||
|
buf = NULL;
|
||||||
free (chan);
|
free (chan);
|
||||||
|
|
||||||
return buf;
|
return buf;
|
||||||
|
@ -207,7 +210,7 @@ scrollback_save (session *sess, char *text)
|
||||||
time_t stamp;
|
time_t stamp;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
if (sess->type == SESS_SERVER)
|
if (sess->type == SESS_SERVER && prefs.hex_gui_tab_server == 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (sess->text_scrollback == SET_DEFAULT)
|
if (sess->text_scrollback == SET_DEFAULT)
|
||||||
|
|
Loading…
Reference in New Issue