[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52691] trunk/blender/source/blender/ blenkernel/intern/text.c: fix [#33363] Text editor undo fail

Justin Dailey dail8859 at yahoo.com
Fri Nov 30 23:46:30 CET 2012


Revision: 52691
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52691
Author:   dail
Date:     2012-11-30 22:46:28 +0000 (Fri, 30 Nov 2012)
Log Message:
-----------
fix [#33363] Text editor undo fail

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/text.c

Modified: trunk/blender/source/blender/blenkernel/intern/text.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/text.c	2012-11-30 18:55:04 UTC (rev 52690)
+++ trunk/blender/source/blender/blenkernel/intern/text.c	2012-11-30 22:46:28 UTC (rev 52691)
@@ -2019,9 +2019,15 @@
 
 			/* get and restore the cursors */
 			txt_undo_read_cursors(text->undo_buf, &text->undo_pos, &curln, &curc, &selln, &selc);
+			
 			txt_move_to(text, curln, curc, 0);
-			txt_move_to(text, curln, curc + linep, 1);
+			txt_move_to(text, selln, selc, 1);
 			
+			if ((curln == selln) && (curc == selc)) {
+				for (i = 0; i < linep; i++)
+					txt_move_right(text, 1);
+			}
+			
 			txt_delete_selected(text);
 			
 			text->undo_pos--;
@@ -2269,6 +2275,8 @@
 
 	txt_delete_sel(text);
 
+	if (!undoing) txt_undo_add_charop(text, UNDO_INSERT_1, '\n');
+	
 	/* Make the two half strings */
 
 	left = MEM_mallocN(text->curc + 1, "textline_string");
@@ -2300,7 +2308,6 @@
 	txt_clean_text(text);
 	
 	txt_pop_sel(text);
-	if (!undoing) txt_undo_add_charop(text, UNDO_INSERT_1, '\n');
 }
 
 static void txt_delete_line(Text *text, TextLine *line)




More information about the Bf-blender-cvs mailing list