fix breakage here that cause a segfault on text insertion

2000-12-08  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
	that cause a segfault on text insertion

	* gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix
	warning

	* gtk/gtktextiter.c (test_log_attrs): use
	_gtk_text_buffer_get_line_log_attrs to speed things up a bit

	* gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs):
	Get log attrs for a line, using a cache stored on the buffer

	* gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
	reported by Jeff Franks
This commit is contained in:
Havoc Pennington
2000-12-08 20:08:52 +00:00
committed by Havoc Pennington
parent 544bfc3d1a
commit 565074f9a3
14 changed files with 319 additions and 51 deletions

View File

@ -44,6 +44,8 @@ extern "C" {
typedef struct _GtkTextBTree GtkTextBTree;
typedef struct _GtkTextLogAttrCache GtkTextLogAttrCache;
#define GTK_TYPE_TEXT_BUFFER (gtk_text_buffer_get_type ())
#define GTK_TEXT_BUFFER(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TEXT_BUFFER, GtkTextBuffer))
#define GTK_TEXT_BUFFER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_BUFFER, GtkTextBufferClass))
@ -61,6 +63,8 @@ struct _GtkTextBuffer
GtkTextBTree *btree;
GtkTextBuffer *clipboard_contents;
GtkTextLogAttrCache *log_attr_cache;
/* Whether the buffer has been modified since last save */
guint modified : 1;
@ -312,13 +316,17 @@ gboolean gtk_text_buffer_get_selection_bounds (GtkTextBuffer *buffer,
GtkTextIter *end);
gboolean gtk_text_buffer_delete_selection (GtkTextBuffer *buffer,
gboolean interactive,
gboolean default_editable);
gboolean default_editable);
/* INTERNAL private stuff */
void _gtk_text_buffer_spew (GtkTextBuffer *buffer);
GtkTextBTree* _gtk_text_buffer_get_btree (GtkTextBuffer *buffer);
const PangoLogAttr* _gtk_text_buffer_get_line_log_attrs (GtkTextBuffer *buffer,
const GtkTextIter *anywhere_in_line,
gint *char_len);
#ifdef __cplusplus
}
#endif /* __cplusplus */