Corrected ext2sim.c calls to hierAP and others using "scale" and
declaring it to be an integer when it is actually a float. This will cause magic to crash when using, e.g., "ext2sim -f su".
This commit is contained in:
parent
2ca9511152
commit
06eef6e324
|
|
@ -1078,7 +1078,7 @@ simdevVisit(dev, hierName, scale, trans)
|
||||||
{
|
{
|
||||||
putc(' ', esSimF);
|
putc(' ', esSimF);
|
||||||
simdevSubstrate(hierName, subnode->efnode_name->efnn_hier,
|
simdevSubstrate(hierName, subnode->efnode_name->efnn_hier,
|
||||||
dev->dev_type, 0, FALSE, esSimF);
|
dev->dev_type, 0.0, FALSE, esSimF);
|
||||||
}
|
}
|
||||||
|
|
||||||
GeoTransRect(trans, &dev->dev_rect, &r);
|
GeoTransRect(trans, &dev->dev_rect, &r);
|
||||||
|
|
@ -1196,7 +1196,8 @@ int
|
||||||
simdevSubstrate( prefix, suffix, type, scale, doAP, outf)
|
simdevSubstrate( prefix, suffix, type, scale, doAP, outf)
|
||||||
HierName *prefix;
|
HierName *prefix;
|
||||||
HierName *suffix;
|
HierName *suffix;
|
||||||
int type, scale;
|
int type;
|
||||||
|
float scale;
|
||||||
bool doAP;
|
bool doAP;
|
||||||
FILE *outf;
|
FILE *outf;
|
||||||
{
|
{
|
||||||
|
|
@ -1264,7 +1265,8 @@ FILE *outf;
|
||||||
|
|
||||||
bool simnAP(node, resClass, scale, outf)
|
bool simnAP(node, resClass, scale, outf)
|
||||||
EFNode *node;
|
EFNode *node;
|
||||||
int resClass, scale;
|
int resClass;
|
||||||
|
float scale;
|
||||||
FILE *outf;
|
FILE *outf;
|
||||||
{
|
{
|
||||||
int a, p;
|
int a, p;
|
||||||
|
|
@ -1277,8 +1279,8 @@ FILE *outf;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
markVisited((nodeClient *)node->efnode_client, resClass);
|
markVisited((nodeClient *)node->efnode_client, resClass);
|
||||||
a = node->efnode_pa[resClass].pa_area*scale*scale;
|
a = (int)(node->efnode_pa[resClass].pa_area*scale*scale);
|
||||||
p = node->efnode_pa[resClass].pa_perim*scale;
|
p = (int)(node->efnode_pa[resClass].pa_perim*scale);
|
||||||
if ( a < 0 ) a = 0;
|
if ( a < 0 ) a = 0;
|
||||||
if ( p < 0 ) p = 0;
|
if ( p < 0 ) p = 0;
|
||||||
fprintf(outf,"A_%d,P_%d", a, p);
|
fprintf(outf,"A_%d,P_%d", a, p);
|
||||||
|
|
@ -1288,7 +1290,8 @@ FILE *outf;
|
||||||
bool simnAPHier(dterm, hierName, resClass, scale, outf)
|
bool simnAPHier(dterm, hierName, resClass, scale, outf)
|
||||||
DevTerm *dterm;
|
DevTerm *dterm;
|
||||||
HierName *hierName;
|
HierName *hierName;
|
||||||
int resClass, scale;
|
int resClass;
|
||||||
|
float scale;
|
||||||
FILE *outf;
|
FILE *outf;
|
||||||
{
|
{
|
||||||
EFNode *node = dterm->dterm_node;
|
EFNode *node = dterm->dterm_node;
|
||||||
|
|
@ -1308,8 +1311,8 @@ bool simnAPHier(dterm, hierName, resClass, scale, outf)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
markVisited((nodeClientHier *)node->efnode_client, resClass);
|
markVisited((nodeClientHier *)node->efnode_client, resClass);
|
||||||
a = node->efnode_pa[resClass].pa_area*scale*scale;
|
a = (int)(node->efnode_pa[resClass].pa_area*scale*scale);
|
||||||
p = node->efnode_pa[resClass].pa_perim*scale;
|
p = (int)(node->efnode_pa[resClass].pa_perim*scale);
|
||||||
if ( a < 0 ) a = 0;
|
if ( a < 0 ) a = 0;
|
||||||
if ( p < 0 ) p = 0;
|
if ( p < 0 ) p = 0;
|
||||||
fprintf(outf,"A_%d,P_%d", a, p);
|
fprintf(outf,"A_%d,P_%d", a, p);
|
||||||
|
|
|
||||||
|
|
@ -372,6 +372,7 @@ GrTCairoPlotSVG (char *filename, MagWindow *mw)
|
||||||
(double)screenw, (double)screenh);
|
(double)screenw, (double)screenh);
|
||||||
cairo_svg_surface_restrict_to_version(tcairodata->surface,
|
cairo_svg_surface_restrict_to_version(tcairodata->surface,
|
||||||
CAIRO_SVG_VERSION_1_2);
|
CAIRO_SVG_VERSION_1_2);
|
||||||
|
|
||||||
tcairodata->context = cairo_create(tcairodata->surface);
|
tcairodata->context = cairo_create(tcairodata->surface);
|
||||||
WindRedisplay(mw);
|
WindRedisplay(mw);
|
||||||
WindUpdate();
|
WindUpdate();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue