Added SILC Thread Queue API
[crypto.git] / apps / irssi / src / fe-common / core / printtext.c
index 369842196f1199b749248fce168bb9e211069f46..a3d34a22ace243ba688cbd56e154ee3d035bda6d 100644 (file)
@@ -70,7 +70,7 @@ void printformat_module_dest_args(const char *module, TEXT_DEST_REC *dest,
 
        str = format_get_text_theme_charargs(theme, module, dest,
                                             formatnum, arglist);
-       if (*str != '\0') print_line(dest, str);
+       if (str != NULL && *str != '\0') print_line(dest, str);
        g_free(str);
 }
 
@@ -163,13 +163,13 @@ static void print_line(TEXT_DEST_REC *dest, const char *text)
 
        g_return_if_fail(dest != NULL);
        g_return_if_fail(text != NULL);
-
+       
         theme = window_get_theme(dest->window);
        tmp = format_get_level_tag(theme, dest);
        str = !theme->info_eol ? format_add_linestart(text, tmp) :
                format_add_lineend(text, tmp);
        g_free_not_null(tmp);
-
+       
        /* send both the formatted + stripped (for logging etc.) */
        stripped = strip_codes(str);
        signal_emit_id(signal_print_text, 3, dest, str, stripped);
@@ -415,9 +415,15 @@ static void sig_print_text(TEXT_DEST_REC *dest, const char *text)
        char *str, *tmp;
 
        g_return_if_fail(dest != NULL);
-       g_return_if_fail(dest->window != NULL);
        g_return_if_fail(text != NULL);
 
+       if (dest->window == NULL) {
+                str = strip_codes(text);
+               printf("NO WINDOWS: %s\n", str);
+                g_free(str);
+                return;
+       }
+
        msg_beep_check(dest);
 
         if ((dest->level & MSGLEVEL_NEVER) == 0)
@@ -468,7 +474,7 @@ static void sig_gui_dialog(const char *type, const char *text)
 
 static void read_settings(void)
 {
-       beep_msg_level = level2bits(settings_get_str("beep_msg_level"));
+       beep_msg_level = settings_get_level("beep_msg_level");
        beep_when_away = settings_get_bool("beep_when_away");
         beep_when_window_active = settings_get_bool("beep_when_window_active");
 }