-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi, the attached patchset try to solve a issue in efreet_menu, that
doesn't fill properly the Efreet_Menu structure, in detail menu->name
isn't defined.
This issue is doesn't appears in Linux, just a little warning if you
run E into a Xnest/Xephyr session, but seems more problematic on
Solaris, see ticket #152 on trac.

This patchset contains: 
0) changes on efreet_menu, efree_menu_new(void) now is efreet_menu_new
(const char *name), and if no name is passed the function returns 0
instead of Efreet_Menu
1) changes in e/src/modules/conf_applications to use new API
2) changes in E-MODULES-EXTRA/iiirk to use new API

References:
0] the ticket 
http://trac.enlightenment.org/e/ticket/152
1] FDO spec
http://standards.freedesktop.org/menu-spec/latest/ar01s04.html#menu-file-elements

Ciao

Massimiliano
- -- 
Massimiliano Calamelli
http://mcalamelli.netsons.org
mcalame...@gmail.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)

iD8DBQFJRoIzleGEL56NNP4RAnfGAJkBkLFDpr9pn8HF2+7mr0VLUOWstgCghsy3
kc28L3yZfJKvnCXL6Bpzu+o=
=guHZ
-----END PGP SIGNATURE-----
Index: e_int_config_iiirk.c
===================================================================
--- e_int_config_iiirk.c        (revisione 38149)
+++ e_int_config_iiirk.c        (copia locale)
@@ -568,7 +568,7 @@
    Efreet_Menu *menu = NULL;
    int i, ret;
 
-   menu = efreet_menu_new();
+   menu = efreet_menu_new("Iiirk");
    for (i = 0, l = e_widget_ilist_items_get(cfdata->o_sel); l; l = l->next, 
i++) 
      {
        E_Ilist_Item *item = NULL;
Index: src/lib/efreet_menu.c
===================================================================
--- src/lib/efreet_menu.c       (revisione 38149)
+++ src/lib/efreet_menu.c       (copia locale)
@@ -557,12 +557,25 @@
     eina_stringshare_shutdown();
 }
 
+/**
+ * @param name The internal name of the menu
+ * @return Returns the Efreet_Menu on success or
+ * NULL on failure
+ * @brief Creates a new menu
+ */
 EAPI Efreet_Menu *
-efreet_menu_new(void)
+efreet_menu_new(const char *name)
 {
     Efreet_Menu *menu;
+
+    if (!name)
+    {
+        printf("Error creating a new menu, name is missing\n");
+        return 0;
+    }
     menu = efreet_menu_entry_new();
     menu->type = EFREET_MENU_ENTRY_MENU;
+    menu->name = name;
     return menu;
 }
 
Index: src/lib/efreet_menu.h
===================================================================
--- src/lib/efreet_menu.h       (revisione 38149)
+++ src/lib/efreet_menu.h       (copia locale)
@@ -51,7 +51,7 @@
 
 EAPI int              efreet_menu_kde_legacy_init(void);
 
-EAPI Efreet_Menu     *efreet_menu_new(void);
+EAPI Efreet_Menu     *efreet_menu_new(const char *name);
 EAPI void             efreet_menu_file_set(const char *file);
 EAPI Efreet_Menu     *efreet_menu_get(void);
 EAPI Efreet_Menu     *efreet_menu_parse(const char *path);
Index: e_int_config_apps.c
===================================================================
--- e_int_config_apps.c (revisione 38149)
+++ e_int_config_apps.c (copia locale)
@@ -656,7 +656,7 @@
    Efreet_Menu *menu = NULL;
    int i, ret;
 
-   menu = efreet_menu_new();
+   menu = efreet_menu_new("Favorites");
    for (i = 0, l = e_widget_ilist_items_get(cfdata->o_sel); l; l = l->next, 
i++) 
      {
        E_Ilist_Item *item = NULL;
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to