On Thu, 2009-10-29 at 16:06 -0400, Hans-Christoph Steiner wrote:
It seems to be fixed in 0.42.5. I looked at backporting, its
complicated and not worth it. Its a much better use of time to put
that effort into making 0.42.5 work better. Try using 0.42.5 nightly
build of Pd-extended and see if the bug is still there..hc
Cool! Thanks! I have updated to 0.42.5 and so far so good!
BTW, I've looked at the 0.43 code branch and wanted to borrow a few things to improve upon 0.42.5 (kind of a mix of my hacked pd.tk with additional improvements) until dust settles around 0.43 development. One thing I noticed that was kind of nifty in the new tcl sources is a check to see whether a particular canvas has been loaded. Namely, variable ::loaded($mycanvas) which effectively (if I am not mistaken) generates a member in the global ::loaded array and which is exactly what I needed.
I am however wondering if this is a potential memory leak (however small) that never gets deallocated? If so, should I be worried if I implement a similar feature by using 4 different vars per window? FWIW, I tried closing an opening literally dozens of windows and my memory footprint did not budge at all (according to system monitor).
Any advice on this one?
P.S. the feature I am working on deals with ability to customize background, menu- and scrollbar-toggle that is patcher-specific and is retained even after the window is closed (obviously, until the main patch is closed). Abstractions rely upon the sys_gui external. Attached is the pd.tk and (the one I posted before with additional improvements) and relevant abstractions if you want to give it a try (tested on Linux only with tcl/tk >=8.5).
P.P.S. Not sure if this is already known, but here it goes anyhow: contrary to what the window_name help file suggests, when using pd-extended with compiz, most functions that were so far OSX and/or Windows-specific (as far as window_name help file is concerned) now work on Linux as well, including alpha transparency of windows. Yay for eyecandy! :-)
Best wishes,
Ico