to make clear: it COULD be -0, on intel at least it's -1 and thus
evaluates to TRUE, that's why it was unnoticed.

On Tue, May 20, 2008 at 5:56 PM, Enlightenment CVS
<[EMAIL PROTECTED]> wrote:
> Enlightenment CVS committal
>
> Author  : barbieri
> Project : e17
> Module  : libs/evas
>
> Dir     : e17/libs/evas/src/lib/include
>
>
> Modified Files:
>        evas_common.h
>
>
> Log Message:
> Remove bugs with bitfield usage, make boolean usage clear.
>
> This patch fixes the problem with bitfield of signed types (ie: char),
> where the bit would be used for the signal, so 1 is considered -0 and
> thus 0.
>
> Move all the single bit fields to Evas_Bool, making it clear and also
> avoiding these problems since Evas_Bool is unsigned char.
>
>
> ===================================================================
> RCS file: /cvs/e/e17/libs/evas/src/lib/include/evas_common.h,v
> retrieving revision 1.97
> retrieving revision 1.98
> diff -u -3 -r1.97 -r1.98
> --- evas_common.h       19 May 2008 03:13:16 -0000      1.97
> +++ evas_common.h       20 May 2008 20:56:39 -0000      1.98
> @@ -283,12 +283,12 @@
>
>   struct
>   {
> -    unsigned int         loaded     : 1;
> -    unsigned int         dirty      : 1;
> -    unsigned int         activ      : 1;
> -    unsigned int         need_data  : 1;
> -    unsigned int         lru_nodata : 1;
> -    unsigned int         cached     : 1;
> +    Evas_Bool            loaded     : 1;
> +    Evas_Bool            dirty      : 1;
> +    Evas_Bool            activ      : 1;
> +    Evas_Bool            need_data  : 1;
> +    Evas_Bool            lru_nodata : 1;
> +    Evas_Bool            cached     : 1;
>   } flags;
>
>   int                    references;
> @@ -320,11 +320,11 @@
>
>    struct
>    {
> -     unsigned int                cached : 1;
> -     unsigned int                activ : 1;
> -     unsigned int                dirty : 1;
> -     unsigned int                loaded : 1;
> -     unsigned int                need_parent : 1;
> +     Evas_Bool                   cached : 1;
> +     Evas_Bool                   activ : 1;
> +     Evas_Bool                   dirty : 1;
> +     Evas_Bool                   loaded : 1;
> +     Evas_Bool                   need_parent : 1;
>    } flags;
>
>    int                           references;
> @@ -347,7 +347,7 @@
>  struct _RGBA_Draw_Context
>  {
>    struct {
> -      char   use : 1;
> +      Evas_Bool use : 1;
>       DATA32 col;
>    } mul;
>    struct {
> @@ -355,7 +355,7 @@
>    } col;
>    struct RGBA_Draw_Context_clip {
>       int    x, y, w, h;
> -      char   use : 1;
> +      Evas_Bool use : 1;
>    } clip;
>    Cutout_Rects cutout;
>    struct {
> @@ -373,7 +373,7 @@
>       int y, h;
>    } sli;
>    int            render_op;
> -   unsigned char  anti_alias : 1;
> +   Evas_Bool anti_alias : 1;
>  };
>
>  struct _RGBA_Pipe_Op
> @@ -448,15 +448,15 @@
>    /* Colorspace stuff. */
>    struct {
>       void              *data;
> -      unsigned int       no_free : 1;
> -      unsigned int       dirty : 1;
> +      Evas_Bool          no_free : 1;
> +      Evas_Bool          dirty : 1;
>    } cs;
>
>    /* RGBA stuff */
>    struct
>    {
>       DATA32            *data;
> -      unsigned int       no_free : 1;
> +      Evas_Bool          no_free : 1;
>    } image;
>  };
>
> @@ -483,7 +483,7 @@
>        float          angle;
>        int            direction;
>        float          offset;
> -       unsigned char  has_alpha : 1;
> +       Evas_Bool      has_alpha : 1;
>      } map;
>
>    struct {
> @@ -515,8 +515,8 @@
>
>    int references;
>
> -   unsigned char     imported_data : 1;
> -   unsigned char     has_alpha : 1;
> +   Evas_Bool imported_data : 1;
> +   Evas_Bool has_alpha : 1;
>  };
>
>  struct _RGBA_Gradient_Type
> @@ -698,12 +698,12 @@
>
>  struct _Tilebuf_Tile
>  {
> -   unsigned char redraw : 1;
> +   Evas_Bool redraw : 1;
>  /* FIXME: need these flags later - but not now */
>  /*
> -   int done   : 1;
> -   int edge   : 1;
> -   int from   : 1;
> +   Evas_Bool done   : 1;
> +   Evas_Bool edge   : 1;
> +   Evas_Bool from   : 1;
>
>    struct {
>       int dx, dy;
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> enlightenment-cvs mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
>



-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to