Implemented the signals 'char-input', 'line-input', and 'text-buffer-output' on the...
[rodin/chimara.git] / libchimara / strio.c
index 921b75cc771f0331828220061dbfc9030726fcd1..3153e3ee4c0b6282c0750e25541bb9a4d17e278e 100644 (file)
@@ -80,6 +80,10 @@ write_utf8_to_window(winid_t win, gchar *s)
        gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, s, -1, win->window_stream->style, NULL);
 
        gdk_threads_leave();
+       
+       ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(win->widget, CHIMARA_TYPE_GLK));
+       g_assert(glk);
+       g_signal_emit_by_name(glk, "text-buffer-output", win->rock, s);
 }
 
 /* Internal function: write a Latin-1 buffer with length to a stream. */
@@ -1109,7 +1113,7 @@ glk_stream_get_position(strid_t str)
  * glk_stream_set_position:
  * @str: A file or memory stream.
  * @pos: The position to set the mark to, relative to @seekmode.
- * @seekmode: One of #seekmode_Start, #seekmode_Current, or #seekmode_End.
+ * @seekmode: One of %seekmode_Start, %seekmode_Current, or %seekmode_End.
  *
  * Sets the position of the read/write mark in @str. The position is controlled
  * by @pos, and the meaning of @pos is controlled by @seekmode. See the
@@ -1136,7 +1140,7 @@ glk_stream_set_position(strid_t str, glsi32 pos, glui32 seekmode)
 {
        VALID_STREAM(str, return);
        g_return_if_fail(!(seekmode == seekmode_Start && pos < 0));
-       g_return_if_fail(!(seekmode == seekmode_End || pos > 0));
+       g_return_if_fail(!(seekmode == seekmode_End && pos > 0));
        
        switch(str->type)
        {