mirror of
https://github.com/irssi/irssi.git
synced 2026-08-20 09:02:13 +02:00
Autosaving settings and autoflushing write buffer might have stopped from
working sometimes because of missing "return 1". git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2325 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
d6abc84ab5
commit
bba5603903
2 changed files with 18 additions and 8 deletions
|
|
@ -605,13 +605,13 @@ int settings_save(const char *fname, int autosave)
|
||||||
return !error;
|
return !error;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sig_autosave(void)
|
static int sig_autosave(void)
|
||||||
{
|
{
|
||||||
char *fname, *str;
|
char *fname, *str;
|
||||||
|
|
||||||
if (!settings_get_bool("settings_autosave") ||
|
if (!settings_get_bool("settings_autosave") ||
|
||||||
config_last_modifycounter == mainconfig->modifycounter)
|
config_last_modifycounter == mainconfig->modifycounter)
|
||||||
return;
|
return 1;
|
||||||
|
|
||||||
if (!irssi_config_is_changed(NULL))
|
if (!irssi_config_is_changed(NULL))
|
||||||
settings_save(NULL, TRUE);
|
settings_save(NULL, TRUE);
|
||||||
|
|
@ -628,6 +628,8 @@ static void sig_autosave(void)
|
||||||
settings_save(fname, TRUE);
|
settings_save(fname, TRUE);
|
||||||
g_free(fname);
|
g_free(fname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void settings_init(void)
|
void settings_init(void)
|
||||||
|
|
|
||||||
|
|
@ -126,13 +126,16 @@ void write_buffer_flush(void)
|
||||||
block_count = 0;
|
block_count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int flush_timeout(void)
|
||||||
|
{
|
||||||
|
write_buffer_flush();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static void read_settings(void)
|
static void read_settings(void)
|
||||||
{
|
{
|
||||||
int msecs;
|
int msecs;
|
||||||
|
|
||||||
if (timeout_tag != -1)
|
|
||||||
g_source_remove(timeout_tag);
|
|
||||||
|
|
||||||
write_buffer_flush();
|
write_buffer_flush();
|
||||||
|
|
||||||
write_buffer_max_blocks = settings_get_int("write_buffer_kb") *
|
write_buffer_max_blocks = settings_get_int("write_buffer_kb") *
|
||||||
|
|
@ -140,9 +143,14 @@ static void read_settings(void)
|
||||||
|
|
||||||
if (settings_get_int("write_buffer_mins") > 0) {
|
if (settings_get_int("write_buffer_mins") > 0) {
|
||||||
msecs = settings_get_int("write_buffer_mins")*60*1000;
|
msecs = settings_get_int("write_buffer_mins")*60*1000;
|
||||||
timeout_tag = g_timeout_add(msecs,
|
if (timeout_tag == -1) {
|
||||||
(GSourceFunc) write_buffer_flush,
|
timeout_tag = g_timeout_add(msecs,
|
||||||
NULL);
|
(GSourceFunc) flush_timeout,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
} else if (timeout_tag != -1) {
|
||||||
|
g_source_remove(timeout_tag);
|
||||||
|
timeout_tag = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue