evas_3d_utils: do not bitwise AND against 0 in condition
authorStefan Schmidt <stefan@osg.samsung.com>
Mon, 30 Nov 2015 16:22:42 +0000 (17:22 +0100)
committerStefan Schmidt <stefan@osg.samsung.com>
Mon, 30 Nov 2015 16:36:24 +0000 (17:36 +0100)
We need to check against the state here and if the compilers assignes 0 to the
first item in an enum we are screwed here as the bitwise AND will always
evaluate to false.

This is a re-incarnation from a486671bce76e405a8d7261f19b0f67ca678f0c4

src/lib/evas/include/evas_3d_utils.h

index 10192cc..52a9511 100644 (file)
@@ -349,7 +349,7 @@ evas_vec3_transform(Evas_Vec3 *out, const Evas_Vec3 *v,  const Eina_Matrix3 *m)
 {
    Evas_Vec3 tmp;
 
-   if (eina_matrix3_type_get(m) & EINA_MATRIX_TYPE_IDENTITY)
+   if (eina_matrix3_type_get(m) == EINA_MATRIX_TYPE_IDENTITY)
      {
         evas_vec3_copy(out, v);
         return;
@@ -367,7 +367,7 @@ evas_vec3_homogeneous_position_transform(Evas_Vec3 *out, const Evas_Vec3 *v, con
 {
    Evas_Vec3 tmp;
 
-   if (eina_matrix4_type_get(m) & EINA_MATRIX_TYPE_IDENTITY)
+   if (eina_matrix4_type_get(m) == EINA_MATRIX_TYPE_IDENTITY)
      {
         evas_vec3_copy(out, v);
         return;
@@ -386,7 +386,7 @@ evas_vec3_homogeneous_direction_transform(Evas_Vec3 *out, const Evas_Vec3 *v, co
 {
    Evas_Vec3 tmp;
 
-   if (eina_matrix4_type_get(m) & EINA_MATRIX_TYPE_IDENTITY)
+   if (eina_matrix4_type_get(m) == EINA_MATRIX_TYPE_IDENTITY)
      {
         evas_vec3_copy(out, v);
         return;
@@ -564,7 +564,7 @@ evas_vec4_transform(Evas_Vec4 *out, const Evas_Vec4 *v, const Eina_Matrix4 *m)
 {
    Evas_Vec4 tmp;
 
-   if (eina_matrix4_type_get(m) & EINA_MATRIX_TYPE_IDENTITY)
+   if (eina_matrix4_type_get(m) == EINA_MATRIX_TYPE_IDENTITY)
      {
         evas_vec4_copy(out, v);
         return;