From: Aldo C. <da...@pe...> - 2001-01-10 12:48:00
|
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; |