Text3d: assert for <0 len text
authorCampbell Barton <ideasman42@gmail.com>
Wed, 10 Sep 2014 13:01:22 +0000 (23:01 +1000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 10 Sep 2014 13:12:11 +0000 (23:12 +1000)
also add operator to test blacklist

source/blender/blenkernel/intern/font.c
source/blender/editors/curve/editfont.c
tests/python/bl_run_operators.py

index 947bd9f4255cd98c431cbeb8a7013471aa0f317b..8d4bb7ec058d56e736dc2a73615e40ab64c15fcf 100644 (file)
@@ -488,6 +488,7 @@ int BKE_vfont_select_get(Object *ob, int *r_start, int *r_end)
        
        if ((ob->type != OB_FONT) || (ef == NULL)) return 0;
 
+       BLI_assert(ef->len >= 0);
        BLI_assert(ef->selstart >= 0 && ef->selstart <= ef->len + 1);
        BLI_assert(ef->selend   >= 0 && ef->selend   <= ef->len);
        BLI_assert(ef->pos      >= 0 && ef->pos      <= ef->len);
index d1f628dd0ea702cd6c2a79568a4a21544cf735cd..1449453936fc2319eb770294207531203ffe4319 100644 (file)
@@ -248,6 +248,8 @@ static void text_update_edited(bContext *C, Object *obedit, int mode)
        Curve *cu = obedit->data;
        EditFont *ef = cu->editfont;
 
+       BLI_assert(ef->len >= 0);
+
        /* run update first since it can move the cursor */
        if (mode == FO_EDIT) {
                /* re-tesselllate */
@@ -1583,6 +1585,7 @@ void make_editText(Object *obedit)
        len_wchar = BLI_strncpy_wchar_from_utf8(ef->textbuf, cu->str, MAXTEXT + 4);
        BLI_assert(len_wchar == cu->len_wchar);
        ef->len = len_wchar;
+       BLI_assert(ef->len >= 0);
 
        memcpy(ef->textbufinfo, cu->strinfo, ef->len * sizeof(CharInfo));
 
index e14b0ce6d32eba65f3044d173d7c54d31814e4ea..f7fafe833aa342e4a100d3c23cfcf83a0288c655 100644 (file)
@@ -66,6 +66,7 @@ op_blacklist = (
     "wm.doc_edit",
     "wm.doc_view_manual",
     "wm.path_open",
+    "wm.copy_prev_settings",
     "wm.theme_install",
     "wm.context_*",
     "wm.properties_add",