@@ -7471,9 +7471,9 @@ downconvert_MLEADERSTYLE (Dwg_Object *restrict obj)
7471
7471
idx = oo -> num_eed ;
7472
7472
if (dwg_has_eed_appid (oo , eedhdl ))
7473
7473
return ;
7474
- oo -> num_eed += 2 ;
7474
+ oo -> num_eed += 1 ;
7475
7475
if (idx )
7476
- oo -> eed = (Dwg_Eed * )realloc (oo -> eed , oo -> num_eed * sizeof (Dwg_Eed ));
7476
+ oo -> eed = (Dwg_Eed * )realloc (oo -> eed , ( oo -> num_eed + 1 ) * sizeof (Dwg_Eed ));
7477
7477
else
7478
7478
oo -> eed = (Dwg_Eed * )calloc (2 , sizeof (Dwg_Eed ));
7479
7479
dwg_add_handle (& oo -> eed [idx ].handle , 5 , eedhdl , NULL );
@@ -7483,7 +7483,10 @@ downconvert_MLEADERSTYLE (Dwg_Object *restrict obj)
7483
7483
_obj = oo -> tio .MLEADERSTYLE ;
7484
7484
oo -> eed [idx ].data -> u .eed_70 .rs
7485
7485
= _obj -> class_version ? _obj -> class_version : 2 ;
7486
- oo -> eed [idx + 1 ].size = 0 ;
7486
+ idx ++ ;
7487
+ oo -> eed [idx ].size = 0 ;
7488
+ oo -> eed [idx ].raw = NULL ;
7489
+ oo -> eed [idx ].data = NULL ;
7487
7490
}
7488
7491
7489
7492
static void
@@ -7559,10 +7562,11 @@ downconvert_DIMSTYLE (Bit_Chain *restrict dat, Dwg_Object *restrict obj)
7559
7562
idx = oo -> num_eed ;
7560
7563
if (!dwg_has_eed_appid (oo , eedhdl1 ))
7561
7564
{
7562
- LOG_TRACE ("Add EED for AcadAnnotative\n" );
7563
- oo -> num_eed += 6 ;
7565
+ LOG_TRACE ("Add EED for AcadAnnotative to " FORMAT_RLLx "\n" ,
7566
+ obj -> handle .value );
7567
+ oo -> num_eed += 5 ;
7564
7568
if (idx )
7565
- oo -> eed = (Dwg_Eed * )realloc (oo -> eed , oo -> num_eed * sizeof (Dwg_Eed ));
7569
+ oo -> eed = (Dwg_Eed * )realloc (oo -> eed , ( oo -> num_eed + 1 ) * sizeof (Dwg_Eed ));
7566
7570
else
7567
7571
oo -> eed = (Dwg_Eed * )calloc (6 , sizeof (Dwg_Eed ));
7568
7572
// AnnotativeData
@@ -7599,15 +7603,17 @@ downconvert_DIMSTYLE (Bit_Chain *restrict dat, Dwg_Object *restrict obj)
7599
7603
oo -> eed [idx ].data -> u .eed_2 .close = 1 ;
7600
7604
idx ++ ;
7601
7605
oo -> eed [idx ].size = 0 ;
7606
+ oo -> eed [idx ].data = NULL ;
7602
7607
oo -> eed [idx ].raw = NULL ;
7603
7608
}
7604
7609
7605
7610
if (!dwg_has_eed_appid (oo , eedhdl2 ))
7606
7611
{
7607
- LOG_TRACE ("Add EED for ACAD_DSTYLE_DIMJAG\n" );
7608
- oo -> num_eed += 3 ;
7612
+ LOG_TRACE ("Add EED for ACAD_DSTYLE_DIMJAG to " FORMAT_RLLx "\n" ,
7613
+ obj -> handle .value );
7614
+ oo -> num_eed += 2 ;
7609
7615
if (idx )
7610
- oo -> eed = (Dwg_Eed * )realloc (oo -> eed , oo -> num_eed * sizeof (Dwg_Eed ));
7616
+ oo -> eed = (Dwg_Eed * )realloc (oo -> eed , ( oo -> num_eed + 1 ) * sizeof (Dwg_Eed ));
7611
7617
else
7612
7618
oo -> eed = (Dwg_Eed * )calloc (3 , sizeof (Dwg_Eed ));
7613
7619
// DIMJAG
@@ -7626,14 +7632,16 @@ downconvert_DIMSTYLE (Bit_Chain *restrict dat, Dwg_Object *restrict obj)
7626
7632
oo -> eed [idx ].data -> u .eed_40 .real = 1.5 ; // FIXME Which value?
7627
7633
idx ++ ;
7628
7634
oo -> eed [idx ].size = 0 ;
7635
+ oo -> eed [idx ].data = NULL ;
7629
7636
oo -> eed [idx ].raw = NULL ;
7630
7637
}
7631
7638
if (!dwg_has_eed_appid (oo , eedhdl3 ))
7632
7639
{
7633
- LOG_TRACE ("Add EED for ACAD_DSTYLE_DIMTALN\n" );
7634
- oo -> num_eed += 3 ;
7640
+ LOG_TRACE ("Add EED for ACAD_DSTYLE_DIMTALN to " FORMAT_RLLx "\n" ,
7641
+ obj -> handle .value );
7642
+ oo -> num_eed += 2 ;
7635
7643
if (idx )
7636
- oo -> eed = (Dwg_Eed * )realloc (oo -> eed , oo -> num_eed * sizeof (Dwg_Eed ));
7644
+ oo -> eed = (Dwg_Eed * )realloc (oo -> eed , ( oo -> num_eed + 1 ) * sizeof (Dwg_Eed ));
7637
7645
else
7638
7646
oo -> eed = (Dwg_Eed * )calloc (3 , sizeof (Dwg_Eed ));
7639
7647
// DIMTALN
@@ -7652,15 +7660,18 @@ downconvert_DIMSTYLE (Bit_Chain *restrict dat, Dwg_Object *restrict obj)
7652
7660
oo -> eed [idx ].data -> u .eed_70 .rs = 0 ; // FIXME Which value?
7653
7661
idx ++ ;
7654
7662
oo -> eed [idx ].size = 0 ;
7663
+ oo -> eed [idx ].data = NULL ;
7655
7664
oo -> eed [idx ].raw = NULL ;
7656
7665
}
7657
7666
if (idx != oo -> num_eed )
7658
7667
{
7659
- LOG_WARN ("Already DIMSTYLE (" FORMAT_RLLx
7668
+ // eg. when the EED already had AcadAnnotative
7669
+ LOG_WARN ("Already DIMSTYLE(" FORMAT_RLLx
7660
7670
") eed idx %u vs num_eed %u\n" ,
7661
7671
obj -> handle .value , idx , oo -> num_eed );
7662
- // oo->num_eed = idx;
7663
- // oo->eed = (Dwg_Eed *)realloc (oo->eed, oo->num_eed * sizeof (Dwg_Eed));
7672
+ oo -> eed [idx ].data = NULL ;
7673
+ oo -> num_eed = idx ;
7674
+ oo -> eed = (Dwg_Eed * )realloc (oo -> eed , oo -> num_eed * sizeof (Dwg_Eed ));
7664
7675
}
7665
7676
}
7666
7677
0 commit comments