[Bf-blender-cvs] [a03aec3] master: Fix: Text editor, blank lines were being indented

Dalai Felinto noreply at git.blender.org
Tue Nov 26 07:55:06 CET 2013


Commit: a03aec3178ecf17c06a684e8ebd495364d74d23f
Author: Dalai Felinto
Date:   Tue Nov 26 04:38:53 2013 -0200
http://developer.blender.org/rBa03aec3178ecf17c06a684e8ebd495364d74d23f

Fix: Text editor, blank lines were being indented

Summary: fixes T37613

Reviewers: campbellbarton, sergey

Reviewed By: sergey

Maniphest Tasks: T37613

Differential Revision: http://developer.blender.org/D42

===================================================================

M	source/blender/blenkernel/intern/text.c

===================================================================

diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index be43aae..9660198 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -2650,22 +2650,26 @@ void txt_indent(Text *text)
 
 	num = 0;
 	while (TRUE) {
-		tmp = MEM_mallocN(text->curl->len + indentlen + 1, "textline_string");
-		
-		text->curc = 0; 
-		if (text->curc) memcpy(tmp, text->curl->line, text->curc);  /* XXX never true, check prev line */
-		memcpy(tmp + text->curc, add, indentlen);
-		
-		len = text->curl->len - text->curc;
-		if (len > 0) memcpy(tmp + text->curc + indentlen, text->curl->line + text->curc, len);
-		tmp[text->curl->len + indentlen] = 0;
 
-		make_new_line(text->curl, tmp);
-			
-		text->curc += indentlen;
-		
-		txt_make_dirty(text);
-		txt_clean_text(text);
+		/* don't indent blank lines */
+		if (text->curl->len != 0) {
+			tmp = MEM_mallocN(text->curl->len + indentlen + 1, "textline_string");
+
+			text->curc = 0;
+			if (text->curc) memcpy(tmp, text->curl->line, text->curc);  /* XXX never true, check prev line */
+			memcpy(tmp + text->curc, add, indentlen);
+
+			len = text->curl->len - text->curc;
+			if (len > 0) memcpy(tmp + text->curc + indentlen, text->curl->line + text->curc, len);
+			tmp[text->curl->len + indentlen] = 0;
+
+			make_new_line(text->curl, tmp);
+
+			text->curc += indentlen;
+
+			txt_make_dirty(text);
+			txt_clean_text(text);
+		}
 		
 		if (text->curl == text->sell) {
 			text->selc += indentlen;




More information about the Bf-blender-cvs mailing list