]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktextbtree.c
Add new properties, xalign and yalign, with getter and setter
[~andy/gtk] / gtk / gtktextbtree.c
index 3fa504d2cba502198b564020564752336121f205..f9c08fe1130890d3bf16524287cbb48948948b1f 100644 (file)
@@ -2211,7 +2211,7 @@ _gtk_text_btree_get_text (const GtkTextIter *start_orig,
 
   gtk_text_iter_order (&start, &end);
 
-  retval = g_string_new ("");
+  retval = g_string_new (NULL);
 
   tree = _gtk_text_iter_get_btree (&start);
 
@@ -2655,6 +2655,14 @@ _gtk_text_btree_get_selection_bounds (GtkTextBTree *tree,
 void
 _gtk_text_btree_place_cursor (GtkTextBTree      *tree,
                              const GtkTextIter *iter)
+{
+  _gtk_text_btree_select_range (tree, iter, iter);
+}
+
+void
+_gtk_text_btree_select_range (GtkTextBTree      *tree,
+                             const GtkTextIter *ins,
+                              const GtkTextIter *bound)
 {
   GtkTextIter start, end;
 
@@ -2663,11 +2671,12 @@ _gtk_text_btree_place_cursor (GtkTextBTree      *tree,
 
   /* Move insert AND selection_bound before we redisplay */
   real_set_mark (tree, tree->insert_mark,
-                 "insert", FALSE, iter, TRUE, FALSE);
+                 "insert", FALSE, ins, TRUE, FALSE);
   real_set_mark (tree, tree->selection_bound_mark,
-                 "selection_bound", FALSE, iter, TRUE, FALSE);
+                 "selection_bound", FALSE, bound, TRUE, FALSE);
 }
 
+
 void
 _gtk_text_btree_remove_mark_by_name (GtkTextBTree *tree,
                                     const gchar *name)
@@ -4347,7 +4356,10 @@ _gtk_text_line_previous_could_contain_tag (GtkTextLine  *line,
           line_ancestor = line_ancestor_parent;
           line_ancestor_parent = line_ancestor->parent;
 
-          node = line_ancestor_parent->children.node;
+          if (line_ancestor_parent != NULL)
+            {
+              node = line_ancestor_parent->children.node;
+            }
         }
 
       /* No dice. */