Chris Wilson <ch...@chris-wilson.co.uk> writes: > We can not rely on the value of func after > _pixman_implementation_lookup_composite() as the sole means of > identifying a bogus implementation as it is left uninitialized on the > error path. Instead we need to check the explicit return value.
_pixman_implementation_lookup_composite() is not supposed to fail ever because eventually it will find general_composite_rectangle() which can always be used. When it does fail, it is almost always because something is broken with TLS support so that the fast path cache is messed up. Juan, can you send config.log from when you compiled pixman, and also let us know what the line #define TLS ... in config.h says? > Reported-by: Juan Francisco Cantero Hurtado <i...@juanfra.info> > Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> > --- > pixman/pixman-glyph.c | 30 +++++++++++++----------------- > 1 file changed, 13 insertions(+), 17 deletions(-) Regarding the patch, if we want to make this more robust, I think a better course of action would be to set func to NULL and call _pixman_log_error() with some suitable message about TLS before returning FALSE in _pixman_implementation_lookup_composite(). Or alternatively, make it so that _pixman_implementation_lookup_composite() definitely can't fall by returning some dummy compositing function. Soren _______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman