X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fswfc.c;h=2db2d108fa3b051dc9108315a0ac088213bb23d5;hb=f9b025bc6ebfa93d38ea20ef69e0e65d7f2f257b;hp=a8cbdfcaf3dac7f91f825c1d48916ec5127d0978;hpb=91d738fe108905d2103f735f564e123d78d07b29;p=swftools.git diff --git a/src/swfc.c b/src/swfc.c index a8cbdfc..2db2d10 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -766,6 +766,10 @@ void s_buttonaction(int flags, char*action) if(flags==0) { return; } + if(!stackpos || !stack[stackpos-1].tag || + stack[stackpos-1].tag->id != ST_DEFINEBUTTON2) { + syntaxerror("Need to be inside a button for .on_* commands"); + } setbuttonrecords(stack[stackpos-1].tag); a = swf_ActionCompile(text, stack[0].swf->fileVersion); @@ -919,7 +923,7 @@ static void writeInstance(instance_t* i) while (frame < currentframe) { frame++; - while (tag->id != ST_SHOWFRAME) + while (tag && tag->id != ST_SHOWFRAME) tag = tag->next; if (parametersChange(i->history, frame)) { @@ -2537,7 +2541,6 @@ static double parseExpression(char*s) int parseTwip(char*str) { int v = (int)(parseExpression(str)*20); - printf("%s = %.2f\n", str, v/20.0); return v; }