Fix T66031: Text Material Change broken.
authorBastien Montagne <montagne29@wanadoo.fr>
Wed, 31 Jul 2019 13:36:36 +0000 (15:36 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Wed, 31 Jul 2019 13:38:01 +0000 (15:38 +0200)
font_to_curve code was not handling properly the case where it has nop
object to check for mat indices validity. Check should just not happen
then, not reset mat indices of chars to default 0 value.

source/blender/blenkernel/intern/font.c

index a0216e9b413ca75f7fd7e34356d4f297a97d1346..78117a4f615beb196aeaa598f887d8d7eb16502d 100644 (file)
@@ -1408,7 +1408,9 @@ static bool vfont_to_curve(Object *ob,
         cha = towupper(cha);
       }
 
-      if (ob == NULL || info->mat_nr > (ob->totcol)) {
+      /* Only do that check in case we do have an object, otherwise all materials get erased every
+       * time that code is called without an object... */
+      if (ob != NULL && (info->mat_nr > (ob->totcol))) {
         // CLOG_ERROR(
         //     &LOG, "Illegal material index (%d) in text object, setting to 0", info->mat_nr);
         info->mat_nr = 0;