fix for bug in console indent, was not copying the null terminator.
authorCampbell Barton <ideasman42@gmail.com>
Sat, 1 Dec 2012 06:29:04 +0000 (06:29 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Sat, 1 Dec 2012 06:29:04 +0000 (06:29 +0000)
also add assert to catch this case more quickly.

source/blender/editors/space_console/console_draw.c
source/blender/editors/space_console/console_ops.c
source/gameengine/GamePlayer/common/bmfont.cpp

index f19835b7f85e9cafd8dcfe0e690018755355eed8..a215b47609494494416b3d10f328a15fbae97195 100644 (file)
@@ -146,7 +146,8 @@ static int console_textview_line_get(struct TextViewContext *tvc, const char **l
        ConsoleLine *cl = (ConsoleLine *)tvc->iter;
        *line = cl->line;
        *len = cl->len;
-
+       // printf("'%s' %d\n", *line, cl->len);
+       BLI_assert(cl->line[cl->len] == '\0' && (cl->len == 0 || cl->line[cl->len - 1] != '\0'));
        return 1;
 }
 
index bb46135545c0fcf9fa8cca4e163eea5792bbb1a4..36716aeab9507672a200f47f245719df7e4f826d 100644 (file)
@@ -444,7 +444,7 @@ static int console_indent_exec(bContext *C, wmOperator *UNUSED(op))
 
        console_line_verify_length(ci, ci->len + len);
 
-       memmove(ci->line + len, ci->line, ci->len);
+       memmove(ci->line + len, ci->line, ci->len + 1);
        memset(ci->line, ' ', len);
        ci->len += len;
        BLI_assert(ci->len >= 0);
index fe6f2187138660955808148546be08dc8e015563..8ffbe7572221cd241a9ee9ed8000e0c7f857cc21 100644 (file)
@@ -73,9 +73,6 @@ void printfGlyph(bmGlyph * glyph)
 }
 */
 
-#define MAX2(x,y)          ( (x)>(y) ? (x) : (y) )
-#define MAX3(x,y,z)                MAX2( MAX2((x),(y)) , (z) )  
-
 void calcAlpha(ImBuf * ibuf)
 {
        int i;