diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2013-11-26 10:38:53 +0400 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2013-11-26 10:51:06 +0400 |
commit | a03aec3178ecf17c06a684e8ebd495364d74d23f (patch) | |
tree | e9ef2024188a0b7f57af93367f167544342df7df | |
parent | d4284056c7b3d512ba3e54bee16c83530c63e2bb (diff) |
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
-rw-r--r-- | source/blender/blenkernel/intern/text.c | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c index be43aae1ed3..96601985f67 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; |