X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtktextbtree.c;h=2757c8ca40a51094186ef7a6b129a86c6affd0c1;hb=ea043cab5718304d9b6170afa2d3f959fc99c718;hp=30b5d5cd850a1b578f258e385b7ffa2473a558da;hpb=075e7464320d49ddb0bbb7d3331db340f51703f6;p=~andy%2Fgtk diff --git a/gtk/gtktextbtree.c b/gtk/gtktextbtree.c index 30b5d5cd8..2757c8ca4 100644 --- a/gtk/gtktextbtree.c +++ b/gtk/gtktextbtree.c @@ -53,18 +53,18 @@ */ #define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API -#include +#include "config.h" #include "gtktextbtree.h" #include #include #include #include "gtktexttag.h" +#include "gtktexttagprivate.h" #include "gtktexttagtable.h" #include "gtktextlayout.h" #include "gtktextiterprivate.h" #include "gtkdebug.h" #include "gtktextmarkprivate.h" -#include "gtkalias.h" /* * Types @@ -143,14 +143,14 @@ struct _GtkTextBTreeNode { int level; /* Level of this node in the B-tree. * 0 refers to the bottom of the tree * (children are lines, not nodes). */ + int num_lines; /* Total number of lines (leaves) in + * the subtree rooted here. */ + int num_chars; /* Number of chars below here */ + int num_children; /* Number of children of this node. */ union { /* First in linked list of children. */ struct _GtkTextBTreeNode *node; /* Used if level > 0. */ GtkTextLine *line; /* Used if level == 0. */ } children; - int num_children; /* Number of children of this node. */ - int num_lines; /* Total number of lines (leaves) in - * the subtree rooted here. */ - int num_chars; /* Number of chars below here */ NodeData *node_data; }; @@ -281,7 +281,9 @@ static NodeData *node_data_find (NodeData *nd, gpointer view_id); static GtkTextBTreeNode *gtk_text_btree_node_new (void); +#if 0 static void gtk_text_btree_node_invalidate_downward (GtkTextBTreeNode *node); +#endif static void gtk_text_btree_node_invalidate_upward (GtkTextBTreeNode *node, gpointer view_id); static NodeData * gtk_text_btree_node_check_valid (GtkTextBTreeNode *node, @@ -340,7 +342,8 @@ static void gtk_text_btree_remove_tag_info (GtkTextBTree *tre static void redisplay_region (GtkTextBTree *tree, const GtkTextIter *start, - const GtkTextIter *end); + const GtkTextIter *end, + gboolean cursors_only); /* Inline thingies */ @@ -429,7 +432,7 @@ _gtk_text_btree_new (GtkTextTagTable *table, g_object_ref (tree->table); tree->tag_changed_handler = g_signal_connect (tree->table, - "tag_changed", + "tag-changed", G_CALLBACK (tag_changed_cb), tree); @@ -663,7 +666,7 @@ gtk_text_btree_resolve_bidi (GtkTextIter *start, */ line = _gtk_text_line_previous (line); _gtk_text_btree_get_iter_at_line (tree, &end_propagate, line, 0); - _gtk_text_btree_invalidate_region (tree, end, &end_propagate); + _gtk_text_btree_invalidate_region (tree, end, &end_propagate, FALSE); } /* Sweep backward */ @@ -719,7 +722,7 @@ gtk_text_btree_resolve_bidi (GtkTextIter *start, if (line && line->dir_propagated_forward == PANGO_DIRECTION_NEUTRAL) { _gtk_text_btree_get_iter_at_line (tree, &start_propagate, line, 0); - _gtk_text_btree_invalidate_region(tree, &start_propagate, start); + _gtk_text_btree_invalidate_region (tree, &start_propagate, start, FALSE); } } } @@ -738,6 +741,7 @@ _gtk_text_btree_delete (GtkTextIter *start, GtkTextBTree *tree; GtkTextLine *start_line; GtkTextLine *end_line; + GtkTextLine *line; GtkTextLine *deleted_lines = NULL; /* List of lines we've deleted */ gint start_byte_offset; @@ -750,12 +754,12 @@ _gtk_text_btree_delete (GtkTextIter *start, tree = _gtk_text_iter_get_btree (start); - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_btree_check (tree); /* Broadcast the need for redisplay before we break the iterators */ DV (g_print ("invalidating due to deleting some text (%s)\n", G_STRLOC)); - _gtk_text_btree_invalidate_region (tree, start, end); + _gtk_text_btree_invalidate_region (tree, start, end, FALSE); /* Save the byte offset so we can reset the iterators */ start_byte_offset = gtk_text_iter_get_line_index (start); @@ -886,6 +890,7 @@ _gtk_text_btree_delete (GtkTextIter *start, start_line->segments = seg; } else if (prev_seg->next && + prev_seg->next != last_seg && seg->type == >k_text_toggle_off_type && prev_seg->next->type == >k_text_toggle_on_type && seg->body.toggle.info == prev_seg->next->body.toggle.info) @@ -988,7 +993,6 @@ _gtk_text_btree_delete (GtkTextIter *start, view = tree->views; while (view) { - GtkTextLine *line; GtkTextLineData *ld; gint deleted_width = 0; @@ -1006,9 +1010,6 @@ _gtk_text_btree_delete (GtkTextIter *start, deleted_height += ld->height; } - if (!view->next) - gtk_text_line_destroy (tree, line); - line = next_line; } @@ -1042,6 +1043,16 @@ _gtk_text_btree_delete (GtkTextIter *start, view = view->next; } + line = deleted_lines; + while (line) + { + GtkTextLine *next_line = line->next; + + gtk_text_line_destroy (tree, line); + + line = next_line; + } + /* avoid dangling pointer */ deleted_lines = NULL; @@ -1065,7 +1076,7 @@ _gtk_text_btree_delete (GtkTextIter *start, chars_changed (tree); segments_changed (tree); - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_btree_check (tree); /* Re-initialize our iterators */ @@ -1233,8 +1244,7 @@ _gtk_text_btree_insert (GtkTextIter *iter, gtk_text_iter_forward_chars (&end, char_count_delta); DV (g_print ("invalidating due to inserting some text (%s)\n", G_STRLOC)); - _gtk_text_btree_invalidate_region (tree, - &start, &end); + _gtk_text_btree_invalidate_region (tree, &start, &end, FALSE); /* Convenience for the user */ @@ -1284,7 +1294,7 @@ insert_pixbuf_or_widget_segment (GtkTextIter *iter, gtk_text_iter_forward_char (iter); /* skip forward past the segment */ DV (g_print ("invalidating due to inserting pixbuf/widget (%s)\n", G_STRLOC)); - _gtk_text_btree_invalidate_region (tree, &start, iter); + _gtk_text_btree_invalidate_region (tree, &start, iter, FALSE); } void @@ -1348,7 +1358,7 @@ find_line_by_y (GtkTextBTree *tree, BTreeView *view, { gint current_y = 0; - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_btree_check (tree); if (node->level == 0) @@ -1619,7 +1629,8 @@ _gtk_text_btree_remove_view (GtkTextBTree *tree, void _gtk_text_btree_invalidate_region (GtkTextBTree *tree, const GtkTextIter *start, - const GtkTextIter *end) + const GtkTextIter *end, + gboolean cursors_only) { BTreeView *view; @@ -1627,7 +1638,10 @@ _gtk_text_btree_invalidate_region (GtkTextBTree *tree, while (view != NULL) { - gtk_text_layout_invalidate (view->layout, start, end); + if (cursors_only) + gtk_text_layout_invalidate_cursors (view->layout, start, end); + else + gtk_text_layout_invalidate (view->layout, start, end); view = view->next; } @@ -1732,12 +1746,12 @@ queue_tag_redisplay (GtkTextBTree *tree, if (_gtk_text_tag_affects_size (tag)) { DV (g_print ("invalidating due to size-affecting tag (%s)\n", G_STRLOC)); - _gtk_text_btree_invalidate_region (tree, start, end); + _gtk_text_btree_invalidate_region (tree, start, end, FALSE); } else if (_gtk_text_tag_affects_nonsize_appearance (tag)) { /* We only need to queue a redraw, not a relayout */ - redisplay_region (tree, start, end); + redisplay_region (tree, start, end, FALSE); } /* We don't need to do anything if the tag doesn't affect display */ @@ -1765,7 +1779,7 @@ _gtk_text_btree_tag (const GtkTextIter *start_orig, g_return_if_fail (GTK_IS_TEXT_TAG (tag)); g_return_if_fail (_gtk_text_iter_get_btree (start_orig) == _gtk_text_iter_get_btree (end_orig)); - g_return_if_fail (tag->table == _gtk_text_iter_get_btree (start_orig)->table); + g_return_if_fail (tag->priv->table == _gtk_text_iter_get_btree (start_orig)->table); #if 0 printf ("%s tag %s from %d to %d\n", @@ -1996,7 +2010,7 @@ _gtk_text_btree_tag (const GtkTextIter *start_orig, queue_tag_redisplay (tree, tag, &start, &end); - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_btree_check (tree); } @@ -2184,6 +2198,8 @@ _gtk_text_btree_get_line_at_char (GtkTextBTree *tree, return line; } +/* It returns an array sorted by tags priority, ready to pass to + * _gtk_text_attributes_fill_from_tags() */ GtkTextTag** _gtk_text_btree_get_tags (const GtkTextIter *iter, gint *num_tags) @@ -2292,6 +2308,10 @@ _gtk_text_btree_get_tags (const GtkTextIter *iter, g_free (tagInfo.tags); return NULL; } + + /* Sort tags in ascending order of priority */ + _gtk_text_tag_array_sort (tagInfo.tags, dst); + return tagInfo.tags; } @@ -2370,8 +2390,8 @@ copy_segment (GString *string, if (copy) { g_string_append_len (string, - gtk_text_unknown_char_utf8, - 3); + _gtk_text_unknown_char_utf8, + GTK_TEXT_UNKNOWN_CHAR_UTF8_LEN); } } @@ -2486,10 +2506,10 @@ _gtk_text_btree_char_is_invisible (const GtkTextIter *iter) || (seg->type == >k_text_toggle_off_type)) { tag = seg->body.toggle.info->tag; - if (tag->invisible_set && tag->values->invisible) + if (tag->priv->invisible_set) { - tags[tag->priority] = tag; - tagCnts[tag->priority]++; + tags[tag->priv->priority] = tag; + tagCnts[tag->priv->priority]++; } } } @@ -2510,10 +2530,10 @@ _gtk_text_btree_char_is_invisible (const GtkTextIter *iter) || (seg->type == >k_text_toggle_off_type)) { tag = seg->body.toggle.info->tag; - if (tag->invisible_set && tag->values->invisible) + if (tag->priv->invisible_set) { - tags[tag->priority] = tag; - tagCnts[tag->priority]++; + tags[tag->priv->priority] = tag; + tagCnts[tag->priv->priority]++; } } } @@ -2539,10 +2559,10 @@ _gtk_text_btree_char_is_invisible (const GtkTextIter *iter) if (summary->toggle_count & 1) { tag = summary->info->tag; - if (tag->invisible_set && tag->values->invisible) + if (tag->priv->invisible_set) { - tags[tag->priority] = tag; - tagCnts[tag->priority] += summary->toggle_count; + tags[tag->priv->priority] = tag; + tagCnts[tag->priv->priority] += summary->toggle_count; } } } @@ -2569,7 +2589,7 @@ _gtk_text_btree_char_is_invisible (const GtkTextIter *iter) } #endif #endif - invisible = tags[i]->values->invisible; + invisible = tags[i]->priv->values->invisible; break; } } @@ -2591,7 +2611,8 @@ _gtk_text_btree_char_is_invisible (const GtkTextIter *iter) static void redisplay_region (GtkTextBTree *tree, const GtkTextIter *start, - const GtkTextIter *end) + const GtkTextIter *end, + gboolean cursors_only) { BTreeView *view; GtkTextLine *start_line, *end_line; @@ -2623,9 +2644,14 @@ redisplay_region (GtkTextBTree *tree, if (ld) end_y += ld->height; - gtk_text_layout_changed (view->layout, start_y, - end_y - start_y, - end_y - start_y); + if (cursors_only) + gtk_text_layout_cursors_changed (view->layout, start_y, + end_y - start_y, + end_y - start_y); + else + gtk_text_layout_changed (view->layout, start_y, + end_y - start_y, + end_y - start_y); view = view->next; } @@ -2636,6 +2662,7 @@ redisplay_mark (GtkTextLineSegment *mark) { GtkTextIter iter; GtkTextIter end; + gboolean cursor_only; _gtk_text_btree_get_iter_at_mark (mark->body.mark.tree, &iter, @@ -2645,8 +2672,8 @@ redisplay_mark (GtkTextLineSegment *mark) gtk_text_iter_forward_char (&end); DV (g_print ("invalidating due to moving visible mark (%s)\n", G_STRLOC)); - _gtk_text_btree_invalidate_region (mark->body.mark.tree, - &iter, &end); + cursor_only = mark == mark->body.mark.tree->insert_mark->segment; + _gtk_text_btree_invalidate_region (mark->body.mark.tree, &iter, &end, cursor_only); } static void @@ -2684,7 +2711,12 @@ real_set_mark (GtkTextBTree *tree, g_return_val_if_fail (_gtk_text_iter_get_btree (where) == tree, NULL); if (existing_mark) - mark = existing_mark->segment; + { + if (gtk_text_mark_get_buffer (existing_mark) != NULL) + mark = existing_mark->segment; + else + mark = NULL; + } else if (name != NULL) mark = g_hash_table_lookup (tree->mark_table, name); @@ -2703,7 +2735,7 @@ real_set_mark (GtkTextBTree *tree, iter = *where; - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_iter_check (&iter); if (mark != NULL) @@ -2716,7 +2748,7 @@ real_set_mark (GtkTextBTree *tree, _gtk_text_btree_get_iter_at_mark (tree, &old_pos, mark->body.mark.obj); - redisplay_region (tree, &old_pos, where); + redisplay_region (tree, &old_pos, where, TRUE); } /* @@ -2744,9 +2776,13 @@ real_set_mark (GtkTextBTree *tree, } else { - mark = _gtk_mark_segment_new (tree, - left_gravity, - name); + if (existing_mark) + g_object_ref (existing_mark); + else + existing_mark = gtk_text_mark_new (name, left_gravity); + + mark = existing_mark->segment; + _gtk_mark_segment_set_tree (mark, tree); mark->body.mark.line = _gtk_text_iter_get_text_line (&iter); @@ -2756,7 +2792,7 @@ real_set_mark (GtkTextBTree *tree, mark); } - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_iter_check (&iter); /* Link mark into new location */ @@ -2771,10 +2807,10 @@ real_set_mark (GtkTextBTree *tree, redisplay_mark_if_visible (mark); - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_iter_check (&iter); - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_btree_check (tree); return mark; @@ -2846,18 +2882,28 @@ _gtk_text_btree_select_range (GtkTextBTree *tree, const GtkTextIter *ins, const GtkTextIter *bound) { - GtkTextIter start, end; + GtkTextIter old_ins, old_bound; - if (_gtk_text_btree_get_selection_bounds (tree, &start, &end)) - redisplay_region (tree, &start, &end); + _gtk_text_btree_get_iter_at_mark (tree, &old_ins, + tree->insert_mark); + _gtk_text_btree_get_iter_at_mark (tree, &old_bound, + tree->selection_bound_mark); + + /* Check if it's no-op since gtk_text_buffer_place_cursor() + * also calls this, and this will redraw the cursor line. */ + if (!gtk_text_iter_equal (&old_ins, ins) || + !gtk_text_iter_equal (&old_bound, bound)) + { + redisplay_region (tree, &old_ins, &old_bound, TRUE); - /* Move insert AND selection_bound before we redisplay */ - real_set_mark (tree, tree->insert_mark, - "insert", FALSE, ins, TRUE, FALSE); - real_set_mark (tree, tree->selection_bound_mark, - "selection_bound", FALSE, bound, TRUE, FALSE); + /* Move insert AND selection_bound before we redisplay */ + real_set_mark (tree, tree->insert_mark, + "insert", FALSE, ins, TRUE, FALSE); + real_set_mark (tree, tree->selection_bound_mark, + "selection_bound", FALSE, bound, TRUE, FALSE); - redisplay_region (tree, ins, bound); + redisplay_region (tree, ins, bound, TRUE); + } } @@ -2930,6 +2976,18 @@ _gtk_text_btree_mark_is_selection_bound (GtkTextBTree *tree, return segment == tree->selection_bound_mark; } +GtkTextMark * +_gtk_text_btree_get_insert (GtkTextBTree *tree) +{ + return tree->insert_mark; +} + +GtkTextMark * +_gtk_text_btree_get_selection_bound (GtkTextBTree *tree) +{ + return tree->selection_bound_mark; +} + GtkTextMark* _gtk_text_btree_get_mark_by_name (GtkTextBTree *tree, const gchar *name) @@ -2972,7 +3030,8 @@ gtk_text_mark_set_visible (GtkTextMark *mark, { seg->body.mark.visible = setting; - redisplay_mark (seg); + if (seg->body.mark.tree) + redisplay_mark (seg); } } @@ -4269,7 +4328,7 @@ _gtk_text_line_next_could_contain_tag (GtkTextLine *line, g_return_val_if_fail (line != NULL, NULL); - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_btree_check (tree); if (tag == NULL) @@ -4432,7 +4491,7 @@ _gtk_text_line_previous_could_contain_tag (GtkTextLine *line, g_return_val_if_fail (line != NULL, NULL); - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_btree_check (tree); if (tag == NULL) @@ -4661,7 +4720,7 @@ gtk_text_line_new (void) { GtkTextLine *line; - line = g_new0(GtkTextLine, 1); + line = g_slice_new0 (GtkTextLine); line->dir_strong = PANGO_DIRECTION_NEUTRAL; line->dir_propagated_forward = PANGO_DIRECTION_NEUTRAL; line->dir_propagated_back = PANGO_DIRECTION_NEUTRAL; @@ -4692,7 +4751,7 @@ gtk_text_line_destroy (GtkTextBTree *tree, GtkTextLine *line) ld = next; } - g_free (line); + g_slice_free (GtkTextLine, line); } static void @@ -4803,7 +4862,7 @@ gtk_text_btree_node_new (void) { GtkTextBTreeNode *node; - node = g_new (GtkTextBTreeNode, 1); + node = g_slice_new (GtkTextBTreeNode); node->node_data = NULL; @@ -4863,6 +4922,7 @@ gtk_text_btree_node_has_tag (GtkTextBTreeNode *node, GtkTextTag *tag) } /* Add node and all children to the damage region. */ +#if 0 static void gtk_text_btree_node_invalidate_downward (GtkTextBTreeNode *node) { @@ -4908,6 +4968,7 @@ gtk_text_btree_node_invalidate_downward (GtkTextBTreeNode *node) } } } +#endif static void gtk_text_btree_node_invalidate_upward (GtkTextBTreeNode *node, gpointer view_id) @@ -5202,7 +5263,7 @@ _gtk_text_btree_validate (GtkTextBTree *tree, if (new_height) *new_height = state.new_height; - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_btree_check (tree); return TRUE; @@ -5452,7 +5513,7 @@ gtk_text_btree_node_free_empty (GtkTextBTree *tree, summary_list_destroy (node->summary); node_data_list_destroy (node->node_data); - g_free (node); + g_slice_free (GtkTextBTreeNode, node); } static NodeData* @@ -5601,8 +5662,7 @@ tag_changed_cb (GtkTextTagTable *table, /* Must be a last toggle if there was a first one. */ _gtk_text_btree_get_iter_at_last_toggle (tree, &end, tag); DV (g_print ("invalidating due to tag change (%s)\n", G_STRLOC)); - _gtk_text_btree_invalidate_region (tree, - &start, &end); + _gtk_text_btree_invalidate_region (tree, &start, &end, FALSE); } } @@ -5912,7 +5972,7 @@ post_insert_fixup (GtkTextBTree *tree, gtk_text_btree_rebalance (tree, node); } - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_btree_check (tree); } @@ -6478,7 +6538,7 @@ gtk_text_btree_link_segment (GtkTextLineSegment *seg, cleanup_line (line); segments_changed (tree); - if (gtk_debug_flags & GTK_DEBUG_TEXT) + if (gtk_get_debug_flags () & GTK_DEBUG_TEXT) _gtk_text_btree_check (tree); } @@ -6739,7 +6799,7 @@ gtk_text_btree_node_check_consistency (GtkTextBTree *tree, break; } g_error ("gtk_text_btree_node_check_consistency: GtkTextBTreeNode tag \"%s\" not %s", - summary->info->tag->name, + summary->info->tag->priv->name, "present in parent summaries"); } if (summary->info == summary2->info) @@ -6775,7 +6835,7 @@ gtk_text_btree_node_check_consistency (GtkTextBTree *tree, if (summary->info->toggle_count == summary->toggle_count) { g_error ("gtk_text_btree_node_check_consistency: found unpruned root for \"%s\"", - summary->info->tag->name); + summary->info->tag->priv->name); } toggle_count = 0; if (node->level == 0) @@ -6829,7 +6889,7 @@ gtk_text_btree_node_check_consistency (GtkTextBTree *tree, if (summary2->info == summary->info) { g_error ("gtk_text_btree_node_check_consistency: duplicated GtkTextBTreeNode tag: %s", - summary->info->tag->name); + summary->info->tag->priv->name); } } } @@ -6881,19 +6941,19 @@ _gtk_text_btree_check (GtkTextBTree *tree) if (info->toggle_count != 0) { g_error ("_gtk_text_btree_check found \"%s\" with toggles (%d) but no root", - tag->name, info->toggle_count); + tag->priv->name, info->toggle_count); } continue; /* no ranges for the tag */ } else if (info->toggle_count == 0) { g_error ("_gtk_text_btree_check found root for \"%s\" with no toggles", - tag->name); + tag->priv->name); } else if (info->toggle_count & 1) { g_error ("_gtk_text_btree_check found odd toggle count for \"%s\" (%d)", - tag->name, info->toggle_count); + tag->priv->name, info->toggle_count); } for (summary = node->summary; summary != NULL; summary = summary->next) @@ -6948,7 +7008,7 @@ _gtk_text_btree_check (GtkTextBTree *tree) if (count != info->toggle_count) { g_error ("_gtk_text_btree_check toggle_count (%d) wrong for \"%s\" should be (%d)", - info->toggle_count, tag->name, count); + info->toggle_count, tag->priv->name, count); } } } @@ -7057,7 +7117,7 @@ _gtk_text_btree_spew (GtkTextBTree *tree) info = list->data; printf (" tag `%s': root at %p, toggle count %d\n", - info->tag->name, info->tag_root, info->toggle_count); + info->tag->priv->name, info->tag_root, info->toggle_count); list = g_slist_next (list); } @@ -7123,7 +7183,7 @@ _gtk_text_btree_spew_line_short (GtkTextLine *line, int indent) seg->type == >k_text_toggle_off_type) { printf ("%s tag `%s' %s\n", - spaces, seg->body.toggle.info->tag->name, + spaces, seg->body.toggle.info->tag->priv->name, seg->type == >k_text_toggle_off_type ? "off" : "on"); } @@ -7150,7 +7210,7 @@ _gtk_text_btree_spew_node (GtkTextBTreeNode *node, int indent) while (s) { printf ("%s %d toggles of `%s' below this node\n", - spaces, s->toggle_count, s->info->tag->name); + spaces, s->toggle_count, s->info->tag->priv->name); s = s->next; } @@ -7225,10 +7285,7 @@ _gtk_text_btree_spew_segment (GtkTextBTree* tree, GtkTextLineSegment * seg) seg->type == >k_text_toggle_off_type) { printf (" tag `%s' priority %d\n", - seg->body.toggle.info->tag->name, - seg->body.toggle.info->tag->priority); + seg->body.toggle.info->tag->priv->name, + seg->body.toggle.info->tag->priv->priority); } } - -#define __GTK_TEXT_BTREE_C__ -#include "gtkaliasdef.c"