Skip to content

Commit

Permalink
fixed #2232
Browse files Browse the repository at this point in the history
  • Loading branch information
jeanlf committed Jul 24, 2022
1 parent 2969863 commit 0102c5d
Showing 1 changed file with 12 additions and 16 deletions.
28 changes: 12 additions & 16 deletions src/scene_manager/scene_dump.c
Expand Up @@ -785,7 +785,7 @@ static void gf_dump_vrml_simple_field(GF_SceneDumper *sdump, GF_FieldInfo field,
} else {
StartAttribute(sdump, "value");
}
for (i=0; i<mffield->count; i++) {
for (i=0; mffield && (i<mffield->count); i++) {
if (i) gf_fprintf(sdump->trace, " ");
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
/*this is to cope with single MFString which shall appear as SF in XMT*/
Expand Down Expand Up @@ -938,12 +938,10 @@ static void gf_dump_vrml_field(GF_SceneDumper *sdump, GF_Node *node, GF_FieldInf
}

if (!sdump->XMLDump) gf_fprintf(sdump->trace, "[");
if (mffield) {
for (i=0; i<mffield->count; i++) {
if (i) gf_fprintf(sdump->trace, " ");
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
gf_dump_vrml_sffield(sdump, sf_type, slot_ptr, 1, node);
}
for (i=0; mffield && (i<mffield->count); i++) {
if (i) gf_fprintf(sdump->trace, " ");
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
gf_dump_vrml_sffield(sdump, sf_type, slot_ptr, 1, node);
}
if (!sdump->XMLDump) gf_fprintf(sdump->trace, "]");

Expand Down Expand Up @@ -1150,7 +1148,7 @@ static void gf_dump_vrml_dyn_field(GF_SceneDumper *sdump, GF_Node *node, GF_Fiel
sdump->indent--;
DUMP_IND(sdump);
} else {
for (i=0; i<mffield->count; i++) {
for (i=0; mffield && (i<mffield->count); i++) {
if (i) gf_fprintf(sdump->trace, " ");
if (field.fieldType != GF_SG_VRML_MFNODE) {
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
Expand Down Expand Up @@ -1191,7 +1189,7 @@ static void gf_dump_vrml_dyn_field(GF_SceneDumper *sdump, GF_Node *node, GF_Fiel
} else {
gf_fprintf(sdump->trace, " %s=\"", GetXMTFieldTypeValueName(field.fieldType));
}
for (i=0; i<mffield->count; i++) {
for (i=0; mffield && (i<mffield->count); i++) {
if (i) gf_fprintf(sdump->trace, " ");
if (field.fieldType != GF_SG_VRML_MFNODE) {
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
Expand Down Expand Up @@ -1262,13 +1260,11 @@ static void gf_dump_vrml_proto_field(GF_SceneDumper *sdump, GF_Node *node, GF_Fi
} else {
gf_fprintf(sdump->trace, " %s=\"", GetXMTFieldTypeValueName(field.fieldType));
}
if (mffield) {
for (i=0; i<mffield->count; i++) {
if (i) gf_fprintf(sdump->trace, " ");
if (field.fieldType != GF_SG_VRML_MFNODE) {
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
gf_dump_vrml_sffield(sdump, sf_type, slot_ptr, (mffield->count>1) ? 1 : 0, node);
}
for (i=0; mffield && (i<mffield->count); i++) {
if (i) gf_fprintf(sdump->trace, " ");
if (field.fieldType != GF_SG_VRML_MFNODE) {
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
gf_dump_vrml_sffield(sdump, sf_type, slot_ptr, (mffield->count>1) ? 1 : 0, node);
}
}
gf_fprintf(sdump->trace, "\"/>\n");
Expand Down

0 comments on commit 0102c5d

Please sign in to comment.