[cairo] Cairo 1.14.2 problems with Solaris 10, libXrender
Bill Spitzak
spitzak at gmail.com
Thu Aug 6 17:03:00 PDT 2015
On Wed, Aug 5, 2015 at 1:23 PM, Andreas F. Borchert <
andreas.borchert at uni-ulm.de> wrote:
> The obvious intention was to keep the code in cairo-xlib-source.c
> tidy without myriads of #if directives. A better solution could
> be the replacement of
>
> #define CAIRO_RENDER_HAS_GRADIENTS(surface) \
> CAIRO_RENDER_AT_LEAST((surface), 0, 10)
>
> by
>
> #define CAIRO_RENDER_HAS_GRADIENTS(surface) \
> (HAVE_XRENDERCREATELINEARGRADIENT &&
> CAIRO_RENDER_AT_LEAST((surface), 0, 10))
>
> and likewise for all the other macros of this kind in cairo-xlib-private.h.
I think that is already being done, at least in some of the image code I
was working on.
The problem is that if you write this:
if (CAIRO_RENDER_HAS_GRADIENTS(surface))
XRenderCreateLinearGraident(x);
else
...
Actually that would still cause the compilation to fail because
XRenderCreateLinearGradient is not defined, even though the compiler can
tell that the if statement is always false. I assume that is the reason the
#define was done this way.
It might be better to #define it to assert(false)?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo/attachments/20150806/04431f52/attachment.html>
More information about the cairo
mailing list