mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
fix crash when accessing settings during shutdown
This commit is contained in:
parent
53187de6a2
commit
5f29b35fbe
@ -928,6 +928,7 @@ void settings_deinit(void)
|
|||||||
|
|
||||||
g_hash_table_foreach(settings, (GHFunc) settings_hash_free, NULL);
|
g_hash_table_foreach(settings, (GHFunc) settings_hash_free, NULL);
|
||||||
g_hash_table_destroy(settings);
|
g_hash_table_destroy(settings);
|
||||||
|
settings = NULL;
|
||||||
|
|
||||||
if (mainconfig != NULL) config_close(mainconfig);
|
if (mainconfig != NULL) config_close(mainconfig);
|
||||||
}
|
}
|
||||||
|
@ -57,6 +57,7 @@ static int autocon_port;
|
|||||||
static int no_autoconnect;
|
static int no_autoconnect;
|
||||||
static char *cmdline_nick;
|
static char *cmdline_nick;
|
||||||
static char *cmdline_hostname;
|
static char *cmdline_hostname;
|
||||||
|
GLogFunc logger_old;
|
||||||
|
|
||||||
void fe_core_log_init(void);
|
void fe_core_log_init(void);
|
||||||
void fe_core_log_deinit(void);
|
void fe_core_log_deinit(void);
|
||||||
@ -253,6 +254,8 @@ void fe_common_core_deinit(void)
|
|||||||
signal_remove("server destroyed", (SIGNAL_FUNC) sig_destroyed);
|
signal_remove("server destroyed", (SIGNAL_FUNC) sig_destroyed);
|
||||||
signal_remove("channel created", (SIGNAL_FUNC) sig_channel_created);
|
signal_remove("channel created", (SIGNAL_FUNC) sig_channel_created);
|
||||||
signal_remove("channel destroyed", (SIGNAL_FUNC) sig_channel_destroyed);
|
signal_remove("channel destroyed", (SIGNAL_FUNC) sig_channel_destroyed);
|
||||||
|
|
||||||
|
g_log_set_default_handler(logger_old, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean glib_domain_wanted(const char *domain)
|
static gboolean glib_domain_wanted(const char *domain)
|
||||||
@ -521,7 +524,7 @@ void fe_common_core_finish_init(void)
|
|||||||
signal_add_first("setup changed", (SIGNAL_FUNC) sig_setup_changed);
|
signal_add_first("setup changed", (SIGNAL_FUNC) sig_setup_changed);
|
||||||
|
|
||||||
/* _after_ windows are created.. */
|
/* _after_ windows are created.. */
|
||||||
g_log_set_default_handler((GLogFunc) i_log_func, NULL);
|
logger_old = g_log_set_default_handler((GLogFunc) i_log_func, NULL);
|
||||||
|
|
||||||
if (setup_changed)
|
if (setup_changed)
|
||||||
signal_emit("setup changed", 0);
|
signal_emit("setup changed", 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user