[cairo] Workaround patch for Xserver repeating pattern bug

mental at rydia.net mental at rydia.net
Mon Jun 20 15:50:08 PDT 2005


Quoting Carl Worth <cworth at redhat.com>:

> The tripled negative does still make it hard to read, but I don't
> see how to do much better.

Sometimes a judicious application of DeMorgan's helps these
things...

> 	    if (!(!have_mask &&
> 		  (operator == CAIRO_OPERATOR_SOURCE ||
> 		   operator == CAIRO_OPERATOR_OVER)))
> 		return DO_UNSUPPORTED;

                        |
                        V

            if (have_mask ||
               !(operator == CAIRO_OPERATOR_SOURCE ||
                 operator == CAIRO_OPERATOR_OVER))
                return DO_UNSUPPORTED;

                        |
                        V

            if (have_mask ||
                (operator != CAIRO_OPERATOR_SOURCE &&
                 operator != CAIRO_OPERATOR_OVER))
                return DO_UNSUPPORTED;


-mental



More information about the cairo mailing list