summaryrefslogtreecommitdiff
path: root/src/cairo-xlib-private.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2008-03-31 21:49:34 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2008-04-02 10:50:48 +0100
commit37c69c0d54c4b77c96497db4d6633558d4e1300d (patch)
tree0e7a95e2893a1fc6199f63eac16ae3f3bd40b7c9 /src/cairo-xlib-private.h
parent0cd42c25a6f4be1ff27ed3a9ba7fa9a91d076e0d (diff)
downloadcairo-37c69c0d54c4b77c96497db4d6633558d4e1300d.tar.gz
[cairo-xlib] Handle malloc failures for cairo_xlib_visual_info_t.
Tidy the error paths whilst handling visuals, in particular avoiding a couple of potential NULL deferences, missed status checks and fresh leaks.
Diffstat (limited to 'src/cairo-xlib-private.h')
-rw-r--r--src/cairo-xlib-private.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/cairo-xlib-private.h b/src/cairo-xlib-private.h
index 5edb5d2c8..5bfc2ec56 100644
--- a/src/cairo-xlib-private.h
+++ b/src/cairo-xlib-private.h
@@ -133,11 +133,18 @@ _cairo_xlib_screen_get_gc (cairo_xlib_screen_info_t *info, int depth);
cairo_private cairo_status_t
_cairo_xlib_screen_put_gc (cairo_xlib_screen_info_t *info, int depth, GC gc, cairo_bool_t reset_clip);
-cairo_private cairo_xlib_visual_info_t *
+cairo_private cairo_status_t
_cairo_xlib_screen_get_visual_info (cairo_xlib_screen_info_t *info,
- Visual *visual);
+ Visual *visual,
+ cairo_xlib_visual_info_t **out);
+
+cairo_private cairo_status_t
+_cairo_xlib_visual_info_create (Display *dpy,
+ int screen,
+ VisualID visualid,
+ cairo_xlib_visual_info_t **out);
-cairo_private cairo_xlib_visual_info_t *
-_cairo_xlib_visual_info_create (Display *dpy, int screen, VisualID visualid);
+cairo_private void
+_cairo_xlib_visual_info_destroy (Display *dpy, cairo_xlib_visual_info_t *info);
#endif /* CAIRO_XLIB_PRIVATE_H */