Hello,
efreet_menu.c compare variables which have type 'char' to -1 (members
of the Efreet_Menu_Internal and Efreet_Menu_Layout structures). This
causes issues on architectures where chars are unsigned, such as ARM (at
least on the freerunner). In particular, the use of <Layout> in menu files
results in malformed menus. The attached patch intends to fix this.
Regards,
Albin
Index: src/lib/efreet_menu.c
===================================================================
--- src/lib/efreet_menu.c (revision 39603)
+++ src/lib/efreet_menu.c (working copy)
@@ -61,11 +61,11 @@
Eina_List *layout; /**< This menus layout */
Eina_List *default_layout; /**< Default layout */
- char show_empty; /**< Whether to show empty menus */
- char in_line; /**< Whether this meny can be inlined */
- char inline_limit; /**< Number of elements which triggers inline */
- char inline_header; /**< Whether we should use the header name when this menu is inlined */
- char inline_alias; /**< Whether we should use the menu name when inlining */
+ signed char show_empty; /**< Whether to show empty menus */
+ signed char in_line; /**< Whether this meny can be inlined */
+ signed char inline_limit; /**< Number of elements which triggers inline */
+ signed char inline_header; /**< Whether we should use the header name when this menu is inlined */
+ signed char inline_alias; /**< Whether we should use the menu name when inlining */
unsigned char seen_allocated:1; /**< have we set the only_unallocated */
unsigned char only_unallocated:1; /**< Show only unallocated .desktops */
@@ -184,11 +184,11 @@
char *name; /**< The name of the element */
/* The items below are for Menuname Layout elements */
- char show_empty; /**< Whether to show empty menus */
- char in_line; /**< Whether this meny can be inlined */
- char inline_limit; /**< Number of elements which triggers inline */
- char inline_header; /**< Whether we should use the header name when this menu is inlined */
- char inline_alias; /**< Whether we should use the menu name when inlining */
+ signed char show_empty; /**< Whether to show empty menus */
+ signed char in_line; /**< Whether this meny can be inlined */
+ signed char inline_limit; /**< Number of elements which triggers inline */
+ signed char inline_header; /**< Whether we should use the header name when this menu is inlined */
+ signed char inline_alias; /**< Whether we should use the menu name when inlining */
};
/**
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel