Mercurial > geeqie.yaz
diff src/logwindow.c @ 718:7119e30971ec
Fix a segfault occuring when logging an empty message and there is no log window.
author | zas_ |
---|---|
date | Wed, 21 May 2008 08:53:51 +0000 |
parents | fece9ff5c624 |
children | a7289f9e8d29 |
line wrap: on
line diff
--- a/src/logwindow.c Wed May 21 00:42:14 2008 +0000 +++ b/src/logwindow.c Wed May 21 08:53:51 2008 +0000 @@ -211,24 +211,25 @@ gint line_limit = 1000; //FIXME: option static GList *memory = NULL; - if (logwindow == NULL && *str) + if (logwindow == NULL) { - LogMsg *msg = g_new(LogMsg, 1); + if (*str) { + LogMsg *msg = g_new(LogMsg, 1); - msg->text = g_strdup(str); - msg->type = type; + msg->text = g_strdup(str); + msg->type = type; - memory = g_list_prepend(memory, msg); + memory = g_list_prepend(memory, msg); - while (g_list_length(memory) >= line_limit) - { - GList *work = g_list_last(memory); - LogMsg *oldest_msg = work->data; + while (g_list_length(memory) >= line_limit) + { + GList *work = g_list_last(memory); + LogMsg *oldest_msg = work->data; - g_free(oldest_msg->text); - memory = g_list_delete_link(memory, work); + g_free(oldest_msg->text); + memory = g_list_delete_link(memory, work); + } } - return; }