[Bf-blender-cvs] [7c78bce] master: Fix for crash un-indenting in the text editor
Campbell Barton
noreply at git.blender.org
Mon Apr 14 05:40:23 CEST 2014
Commit: 7c78bcef6cb9c7cde928ed8062a12ab6ba88d2cb
Author: Campbell Barton
Date: Mon Apr 14 13:26:12 2014 +1000
https://developer.blender.org/rB7c78bcef6cb9c7cde928ed8062a12ab6ba88d2cb
Fix for crash un-indenting in the text editor
===================================================================
M source/blender/blenkernel/intern/text.c
===================================================================
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index f426634..c34fe32 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -2775,23 +2775,21 @@ void txt_unindent(Text *text)
}
while (true) {
- int i = 0;
-
- if (BLI_strncasecmp(text->curl->line, remove, indentlen) == 0) {
+ bool changed = false;
+ if (strncmp(text->curl->line, remove, indentlen) == 0) {
if (num == 0)
unindented_first = true;
- while (i < text->curl->len) {
- text->curl->line[i] = text->curl->line[i + indentlen];
- i++;
- }
text->curl->len -= indentlen;
+ memmove(text->curl->line, text->curl->line + indentlen, text->curl->len + 1);
+ changed = true;
}
txt_make_dirty(text);
txt_clean_text(text);
if (text->curl == text->sell) {
- if (i > 0) text->selc = MAX2(text->selc - indentlen, 0);
+ if (changed)
+ text->selc = MAX2(text->selc - indentlen, 0);
break;
}
else {
@@ -2801,7 +2799,8 @@ void txt_unindent(Text *text)
}
- if (unindented_first) text->curc = MAX2(text->curc - indentlen, 0);
+ if (unindented_first)
+ text->curc = MAX2(text->curc - indentlen, 0);
while (num > 0) {
text->curl = text->curl->prev;
More information about the Bf-blender-cvs
mailing list