From f8640490308f29de951b7b59f07be8b744f6e895 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 10 Mar 2018 10:03:39 +0100 Subject: Only set random seed once Fixes non-random behaviour when randomizing file lists several times per second. Closes #349 --- src/gib_list.c | 1 - src/imlib.c | 3 --- src/main.c | 2 ++ 3 files changed, 2 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gib_list.c b/src/gib_list.c index 281f528..5384d98 100644 --- a/src/gib_list.c +++ b/src/gib_list.c @@ -360,7 +360,6 @@ gib_list_randomize(gib_list * list) { farray[i] = f; } - srand(getpid() * time(NULL) % ((unsigned int) -1)); for (i = 0; i < len - 1; i++) { r = i + rand() / (RAND_MAX / (len - i) + 1 ); diff --git a/src/imlib.c b/src/imlib.c index d9c5cd0..baaa64a 100644 --- a/src/imlib.c +++ b/src/imlib.c @@ -133,9 +133,6 @@ void init_x_and_imlib(void) imlib_set_cache_size(opt.cache_size * 1024 * 1024); - /* Initialise random numbers */ - srand(getpid() * time(NULL) % ((unsigned int) -1)); - return; } diff --git a/src/main.c b/src/main.c index 840919f..534b89e 100644 --- a/src/main.c +++ b/src/main.c @@ -42,6 +42,8 @@ int main(int argc, char **argv) { atexit(feh_clean_exit); + srand(getpid() * time(NULL) % ((unsigned int) -1)); + setup_signal_handlers(); init_parse_options(argc, argv); -- cgit v1.2.3