rpav / cl-cairo2

Cairo bindings for Common Lisp
https://github.com/rpav/cl-cairo2/wiki
Boost Software License 1.0
62 stars 15 forks source link

Fix for the memory leak I mentioned #7

Closed mathrick closed 12 years ago

mathrick commented 13 years ago

Fix a bad memory leak: finalisers were being used improperly and ended up holding onto references to the objects they were supposed to finalise, thus preventing the objects from being GC'd. So in essence, cl-cairo2 was never releasing any memory.

mathrick commented 13 years ago

I've also fixed another refcounting bug I've run into in GET-TARGET. http://cairographics.org/manual/cairo-cairo-t.html#cairo-get-target is pretty clear on the ownership of the returned surface, but cl-cairo2 wasn't ref'ing it before wrapping it (and adding a finaliser), which crashed the image when GC kicked in and run the finaliser, triggering cairo's assertion and abort()

rpav commented 12 years ago

Just following up to make everyone 100% aware, the license has changed to BOOST (BSD-variant). All previous contributors have given approval, but if you have not/do not and I have merged your contribution, please let me know so it can be reversed. Thanks,

mathrick commented 12 years ago

On Thu, Jan 26, 2012 at 15:44, Ryan Pavlik reply@reply.github.com wrote:

Just following up to make everyone 100% aware, the license has changed to BOOST (BSD-variant).  All previous contributors have given approval, but if you have not/do not and I have merged your contribution, please let me know so it can be reversed.  Thanks,

That's fine with me, so consider it my formal approval, even though my contributions have been pretty trivial.

rpav commented 12 years ago

thanks!