releasing gadgets
BlitzPlus Forums/BlitzPlus Programming/releasing gadgets
| ||
At the end of some app (the cleanup-part), is it required to free gadgets? (panels, canvases, windows, buttons) I already do free banks and images however.. :) ..in win98se.. (which has worse memory-management than later OS'es) I've the feeling that when I don't clean-up nicely, I get some memleaks after a day of run+stop+run+stop+run+stop etc. etc. |
| ||
Blitz should basically free up everything (freeing banks and images is a good idea if you're constantly loading/creating new stuff of course). |
| ||
Make sure you include this line before ending, if you have used any DX commands: SetBuffer DesktopBuffer() |
| ||
I spent today on a st00pid bug.. In order to be nice 'n tidy I decided to manually free a bunch o' gadgets, amongst them some panels. All gadgets were in a bank, so I had banksize/4 gadgets. In the for-loop in which I free'd the gadgets something odd popped-up. For t=0 to banksize(gadgetbank)/4-1 g=peekint(gadgetbank,t) debuglog g If g FreeGadget g Next Sofar so good you'd say .. even de debuglog showed proper adresses for each canvas.. Esp. because it all looked to logical I couldn't understand why I got an error which stated that it was unable to free a gadget. But in the debug variables-overview g *was* a gadget-adres.. Turns out like this: In the list with gadgets there were some panels panel.1 was a main-panel.. and panel.2..panel.n were childs of panel.1 :) You can stare at this bug forever, unless you realise that the gadget was already free'd automatically, while the adres was still stored :) Hence I'll stick to the bank/image cleanup and nothing more than that.. ^_^ |