Hi, I've had an issue recently when I tried to run my app (using edje) on the PS3, the aspect ratio of all the images were wrong, and it looked really bad. I investigated the issue and found out that the aspect_preference was the cause and that when it's set to 'BOTH' for example, the desc->aspect.prefer value is 50331648 which is.. 0x3000000 .. so it's a big endian vs. little endian issue since the EDJE_ASPECT_PREFER_BOTH value in the enum is '3'. So I figured the reading of the .edj is wrong, so I looked and it seems to read it as a 'EET_T_CHAR', but the structure contains the enum as type, which makes it an int.. so what happens is that it stores 1 byte (the char) in the 32bit variable.. on little endian, it's fine, it works, but on big endian, it makes the value huge. So I fixed it by changing the declaration of he 'aspect.prefer' structure to a char instead of the enum it represents. I tested and it seems to work and not break anything (and fixes the bug). However, since this seems a bit sensitive, I thought it's best to send the patch here to make sure I'm not doing something wrong. Thanks for reviewing this simple one liner patch : http://pastie.org/3176835 I have noticed other structures do the same thing, 'fill mode' for example is defined as EET_T_UCHAR in the eet data description and as 'unsigned char' in the structure, that's why I fixed it this way. Note also that this shouldn't break the .edj file's compatibility or anything.
Thanks, KaKaRoTo ------------------------------------------------------------------------------ RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
