According to apple developer page, starting with OS X v10.5 the
pixelformat is reference counted. The object is created at
CGLChoosePixelFormat and should be unrefeferenced via
CGLReleasePixelFormat/CGLDestroyPixelFormat.
The latter two are identical accoring to the documentation.
Signed-off-by: Emil Velikov emil.l.veli...@gmail.com
---
src/waffle/cgl/cgl_config.m | 4
1 file changed, 4 insertions(+)
diff --git a/src/waffle/cgl/cgl_config.m b/src/waffle/cgl/cgl_config.m
index 7a74438..5252e12 100644
--- a/src/waffle/cgl/cgl_config.m
+++ b/src/waffle/cgl/cgl_config.m
@@ -50,6 +50,9 @@ cgl_config_destroy(struct wcore_config *wc_self)
if (wc_self == NULL)
return ok;
+if (self-pixel_format)
+CGLReleasePixelFormat(self-pixel_format);
+
ok = wcore_config_teardown(wc_self);
free(cgl_config(wc_self));
return ok;
@@ -248,6 +251,7 @@ cgl_config_choose(struct wcore_platform *wc_plat,
if (!ok)
goto error;
+// Starting with OS X v10.5, pixel format objects are reference counted.
error = CGLChoosePixelFormat(pixel_attrs, self-pixel_format, ignore);
if (error) {
cgl_error_failed_func(CGLChoosePixelFormat, error);
--
2.0.0
___
waffle mailing list
waffle@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/waffle