# HG changeset patch # User zas_ # Date 1211360031 0 # Node ID 7119e30971ec7aca001b01aed518646384b4c87e # Parent aae956e84de42eb8bc15dd7e6fb9b88db4cd59a5 Fix a segfault occuring when logging an empty message and there is no log window. diff -r aae956e84de4 -r 7119e30971ec src/logwindow.c --- 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; }