diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-06-03 13:56:00 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-06-03 13:56:00 +0100 |
commit | 85c2a0d76ab109f2bec8f7dccab577033e6d37b0 (patch) | |
tree | 22e6774c3ba19287fbb6d6786cde7b3bf6f3092d /src/cairo-list-inline.h | |
parent | 41bef0fc385381b8c6b9091ec7ca2abe04cfc147 (diff) | |
download | cairo-85c2a0d76ab109f2bec8f7dccab577033e6d37b0.tar.gz |
xlib: Unlike the visual when destroying it
Otherwise we leave dangling pointers in the visual list, leading to
memory corruption when using low bitdepth servers.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-list-inline.h')
-rw-r--r-- | src/cairo-list-inline.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/cairo-list-inline.h b/src/cairo-list-inline.h index d00f40e98..0955178d2 100644 --- a/src/cairo-list-inline.h +++ b/src/cairo-list-inline.h @@ -145,9 +145,15 @@ __cairo_list_del (cairo_list_t *prev, cairo_list_t *next) } static inline void -cairo_list_del (cairo_list_t *entry) +_cairo_list_del (cairo_list_t *entry) { __cairo_list_del (entry->prev, entry->next); +} + +static inline void +cairo_list_del (cairo_list_t *entry) +{ + _cairo_list_del (entry); cairo_list_init (entry); } |