Sam wrote:
> 2/ give the Dialog XSUB an explicit block around the perl
> interpreter calls it makes. I believe that this will work fine,
> but I haven't tested it.

you got it Sam!!!!!

I added ENTER/SAVETMPS + FREETMPS/LEAVE inside the Dialog()
loop (while (stayhere)) and it works like a charm now.
there is a small memory increase, but it's completely
acceptable (some k's when you do something in the window
at startup, click buttons, etc. but nothing when you simply
move the mouse around).

I think that the problem is in the magical stuff I've
added to support windows-as-hashes (eg. the TIEHASH stuff
that permits $Window->{-text}); since doing hv_fetch()
on a tied hash really calls the Perl sub FETCH on that
object, TMPs are really created (it seems).
hv_fetch alone would have not required a (SAVE|FREE)TMPS
block, but the magic behind it apparently does.

I will release a new version very soon with this nasty,
nasty, nasty bug finally *fixed* forever :-)

cheers,
Aldo

__END__
$_=q,just perl,,s, , another ,,s,$, hacker,,print;



Reply via email to