* Fixed garglk_set_reversevideo to use the new way styles are handled.
authorMarijn van Vliet <w.m.vanvliet@student.utwente.nl>
Sat, 29 Jan 2011 13:43:55 +0000 (14:43 +0100)
committerMarijn van Vliet <w.m.vanvliet@student.utwente.nl>
Sat, 29 Jan 2011 13:43:55 +0000 (14:43 +0100)
 * GtkTextTags are no longer shared between GtkTextBuffers, as this
   is not allowed.

libchimara/garglk.c
libchimara/style.c

index 6beb20e57c4da3ab4e96da48ab684e5fb5b7ee69..df5c6b35e4f0240289fa1c2bd983b3418ce51b0f 100644 (file)
@@ -184,7 +184,11 @@ garglk_set_zcolors(glui32 fg, glui32 bg)
 static void
 apply_reverse_color(GtkTextTag *tag, gpointer data)
 {
-       g_object_set_data( G_OBJECT(tag), "reverse_color", data );
+       const gchar *tag_name;
+       g_object_get(tag, "name", &tag_name, NULL);
+
+       if( g_str_has_prefix(tag_name, "glk-") )
+               g_object_set_data( G_OBJECT(tag), "reverse_color", data );
 }
 
 /**
index 2e2b80c898c73fb54bd31aeccf3659dbf2d1157e..e9bfd888d5bcdcd29de79b1a736035a114432a96 100644 (file)
@@ -138,7 +138,7 @@ style_init_textbuffer(GtkTextBuffer *buffer)
        ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key);
 
        /* Place the default text tags in the textbuffer's tag table */
-       g_hash_table_foreach(glk_data->styles->text_buffer, style_add_tag_to_textbuffer, gtk_text_buffer_get_tag_table(buffer));
+       g_hash_table_foreach(glk_data->styles->text_buffer, style_copy_tag_to_textbuffer, gtk_text_buffer_get_tag_table(buffer));
 
        /* Copy the override text tags to the textbuffers's tag table */
        g_hash_table_foreach(glk_data->glk_styles->text_buffer, style_copy_tag_to_textbuffer, gtk_text_buffer_get_tag_table(buffer));
@@ -154,7 +154,7 @@ style_init_textgrid(GtkTextBuffer *buffer)
        ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key);
 
        /* Place the default text tags in the textbuffer's tag table */
-       g_hash_table_foreach(glk_data->styles->text_grid, style_add_tag_to_textbuffer, gtk_text_buffer_get_tag_table(buffer));
+       g_hash_table_foreach(glk_data->styles->text_grid, style_copy_tag_to_textbuffer, gtk_text_buffer_get_tag_table(buffer));
 
        /* Copy the current text tags to the textbuffers's tag table */
        g_hash_table_foreach(glk_data->glk_styles->text_grid, style_copy_tag_to_textbuffer, gtk_text_buffer_get_tag_table(buffer));