Placed pager functionality into the idle handler
[rodin/chimara.git] / libchimara / strio.c
index f668cb9484637431ad849f62246b0365cadc5c79..ea9d7b5d5128a33d5a68a3ab93c367a1d294ae39 100644 (file)
@@ -4,6 +4,7 @@
 #include <errno.h>
 #include <stdio.h>
 #include <string.h>
+#include <pager.h>
 #include <glib.h>
 #include <glib/gstdio.h>
 
@@ -62,6 +63,9 @@ flush_window_buffer(winid_t win)
                g_assert(glk);
                g_signal_emit_by_name(glk, "text-buffer-output", win->rock, win->buffer->str);
 
+               /* Schedule a check for the pager */
+               g_idle_add(pager_check, win);
+
        }
                break;
 
@@ -258,7 +262,6 @@ write_buffer_to_stream_uni(strid_t str, glui32 *buf, glui32 len)
                        if(str->unicode && str->ubuffer)
                        {
                                int copycount = MIN(len, str->buflen - str->mark);
-                               g_printerr("Attempting to copy %d units; %d units of space left in buffer\n", len, str->buflen - str->mark);
                                memmove(str->ubuffer + str->mark, buf, copycount * sizeof(glui32));
                                str->mark += copycount;
                        }
@@ -266,7 +269,6 @@ write_buffer_to_stream_uni(strid_t str, glui32 *buf, glui32 len)
                        {
                                gchar *latin1 = convert_ucs4_to_latin1_binary(buf, len);
                                int copycount = MIN(len, str->buflen - str->mark);
-                               g_printerr("Attempting to copy %d units; %d units of space left in buffer\n", len, str->buflen - str->mark);
                                memmove(str->buffer + str->mark, latin1, copycount);
                                g_free(latin1);
                                str->mark += copycount;