mirror of
https://github.com/weechat/weechat.git
synced 2026-07-10 04:05:41 +02:00
Fixed bug when destroying last server
This commit is contained in:
+2
-2
@@ -552,7 +552,7 @@ weechat_cmd_connect (int argc, char **argv)
|
||||
return -1;
|
||||
}
|
||||
if (!ptr_server->window)
|
||||
server_create_window (ptr_server);
|
||||
gui_window_new (ptr_server, NULL);
|
||||
if (server_connect (ptr_server))
|
||||
{
|
||||
irc_login (ptr_server);
|
||||
@@ -935,7 +935,7 @@ weechat_cmd_server (int argc, char **argv)
|
||||
|
||||
if (new_server->autoconnect)
|
||||
{
|
||||
server_create_window (new_server);
|
||||
gui_window_new (new_server, NULL);
|
||||
if (server_connect (new_server))
|
||||
irc_login (new_server);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+2
-16
@@ -113,22 +113,6 @@ server_alloc ()
|
||||
return new_server;
|
||||
}
|
||||
|
||||
/*
|
||||
* server_create_window: create windows for a server
|
||||
*/
|
||||
|
||||
void
|
||||
server_create_window (t_irc_server *server)
|
||||
{
|
||||
if (!SERVER(gui_windows))
|
||||
{
|
||||
server->window = gui_windows;
|
||||
SERVER(gui_windows) = server;
|
||||
}
|
||||
else
|
||||
gui_window_new (server, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* server_destroy: free server data (not struct himself)
|
||||
*/
|
||||
@@ -181,6 +165,8 @@ server_free (t_irc_server *server)
|
||||
(server->next_server)->prev_server = server->prev_server;
|
||||
|
||||
server_destroy (server);
|
||||
if (server->window)
|
||||
gui_window_free (server->window);
|
||||
free (server);
|
||||
irc_servers = new_irc_servers;
|
||||
}
|
||||
|
||||
@@ -140,7 +140,6 @@ extern t_irc_channel *current_channel;
|
||||
|
||||
extern void server_init (t_irc_server *);
|
||||
extern t_irc_server *server_alloc ();
|
||||
extern void server_create_window (t_irc_server *);
|
||||
extern void server_destroy (t_irc_server *);
|
||||
extern void server_free (t_irc_server *);
|
||||
extern void server_free_all ();
|
||||
|
||||
+2
-2
@@ -211,8 +211,8 @@ wee_init_log ()
|
||||
void
|
||||
wee_shutdown ()
|
||||
{
|
||||
gui_end ();
|
||||
server_free_all ();
|
||||
gui_end ();
|
||||
if (log_file)
|
||||
fclose (log_file);
|
||||
exit (0);
|
||||
@@ -298,7 +298,7 @@ main (int argc, char *argv[])
|
||||
{
|
||||
if (ptr_server->autoconnect)
|
||||
{
|
||||
server_create_window (ptr_server);
|
||||
gui_window_new (ptr_server, NULL);
|
||||
if (server_connect (ptr_server))
|
||||
irc_login (ptr_server);
|
||||
}
|
||||
|
||||
@@ -552,7 +552,7 @@ weechat_cmd_connect (int argc, char **argv)
|
||||
return -1;
|
||||
}
|
||||
if (!ptr_server->window)
|
||||
server_create_window (ptr_server);
|
||||
gui_window_new (ptr_server, NULL);
|
||||
if (server_connect (ptr_server))
|
||||
{
|
||||
irc_login (ptr_server);
|
||||
@@ -935,7 +935,7 @@ weechat_cmd_server (int argc, char **argv)
|
||||
|
||||
if (new_server->autoconnect)
|
||||
{
|
||||
server_create_window (new_server);
|
||||
gui_window_new (new_server, NULL);
|
||||
if (server_connect (new_server))
|
||||
irc_login (new_server);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -113,22 +113,6 @@ server_alloc ()
|
||||
return new_server;
|
||||
}
|
||||
|
||||
/*
|
||||
* server_create_window: create windows for a server
|
||||
*/
|
||||
|
||||
void
|
||||
server_create_window (t_irc_server *server)
|
||||
{
|
||||
if (!SERVER(gui_windows))
|
||||
{
|
||||
server->window = gui_windows;
|
||||
SERVER(gui_windows) = server;
|
||||
}
|
||||
else
|
||||
gui_window_new (server, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* server_destroy: free server data (not struct himself)
|
||||
*/
|
||||
@@ -181,6 +165,8 @@ server_free (t_irc_server *server)
|
||||
(server->next_server)->prev_server = server->prev_server;
|
||||
|
||||
server_destroy (server);
|
||||
if (server->window)
|
||||
gui_window_free (server->window);
|
||||
free (server);
|
||||
irc_servers = new_irc_servers;
|
||||
}
|
||||
|
||||
@@ -140,7 +140,6 @@ extern t_irc_channel *current_channel;
|
||||
|
||||
extern void server_init (t_irc_server *);
|
||||
extern t_irc_server *server_alloc ();
|
||||
extern void server_create_window (t_irc_server *);
|
||||
extern void server_destroy (t_irc_server *);
|
||||
extern void server_free (t_irc_server *);
|
||||
extern void server_free_all ();
|
||||
|
||||
@@ -211,8 +211,8 @@ wee_init_log ()
|
||||
void
|
||||
wee_shutdown ()
|
||||
{
|
||||
gui_end ();
|
||||
server_free_all ();
|
||||
gui_end ();
|
||||
if (log_file)
|
||||
fclose (log_file);
|
||||
exit (0);
|
||||
@@ -298,7 +298,7 @@ main (int argc, char *argv[])
|
||||
{
|
||||
if (ptr_server->autoconnect)
|
||||
{
|
||||
server_create_window (ptr_server);
|
||||
gui_window_new (ptr_server, NULL);
|
||||
if (server_connect (ptr_server))
|
||||
irc_login (ptr_server);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user