Enlightenment CVS committal

Author  : englebass
Project : e_modules
Module  : mem

Dir     : e_modules/mem


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:
Revert gadcon menu change.

===================================================================
RCS file: /cvs/e/e_modules/mem/e_mod_main.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -3 -r1.49 -r1.50
--- e_mod_main.c        25 Nov 2007 05:37:36 -0000      1.49
+++ e_mod_main.c        2 Dec 2007 16:23:27 -0000       1.50
@@ -36,6 +36,7 @@
 static void _mem_cb_mouse_out (void *data, Evas * e, Evas_Object * obj,
                               void *event_info);
 static void _mem_menu_cb_configure (void *data, E_Menu * m, E_Menu_Item * mi);
+static void _mem_menu_cb_post (void *data, E_Menu * m);
 static Config_Item *_mem_config_item_get (const char *id);
 static Mem *_mem_new (Evas * evas);
 static void _mem_free (Mem * mem);
@@ -136,7 +137,8 @@
     ecore_timer_del (inst->check_timer);
   mem_config->instances = evas_list_remove (mem_config->instances, inst);
   _mem_free (inst->mem);
-   E_FREE(inst);
+  free (inst);
+  inst = NULL;
 }
 
 static void
@@ -147,13 +149,15 @@
 
   inst = data;
   ev = event_info;
-  if ((ev->button == 3) && (!inst->gcc->menu))
+  if ((ev->button == 3) && (!mem_config->menu))
     {
       E_Menu *mn;
       E_Menu_Item *mi;
       int x, y, w, h;
 
       mn = e_menu_new ();
+      e_menu_post_deactivate_callback_set (mn, _mem_menu_cb_post, inst);
+      mem_config->menu = mn;
 
       mi = e_menu_item_new (mn);
       e_menu_item_label_set (mi, D_ ("Configuration"));
@@ -169,13 +173,22 @@
                             e_util_zone_current_get (e_manager_current_get
                                                      ()), x + ev->output.x,
                             y + ev->output.y, 1, 1,
-                            E_MENU_POP_DIRECTION_AUTO, ev->timestamp);
+                            E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
       evas_event_feed_mouse_up (inst->gcc->gadcon->evas, ev->button,
                                EVAS_BUTTON_NONE, ev->timestamp, NULL);
     }
 }
 
 static void
+_mem_menu_cb_post (void *data, E_Menu * m)
+{
+  if (!mem_config->menu)
+    return;
+  e_object_del (E_OBJECT (mem_config->menu));
+  mem_config->menu = NULL;
+}
+
+static void
 _mem_menu_cb_configure (void *data, E_Menu * m, E_Menu_Item * mi)
 {
   Instance *inst;
@@ -322,6 +335,12 @@
 
   if (mem_config->config_dialog)
     e_object_del (E_OBJECT (mem_config->config_dialog));
+  if (mem_config->menu)
+    {
+      e_menu_post_deactivate_callback_set (mem_config->menu, NULL, NULL);
+      e_object_del (E_OBJECT (mem_config->menu));
+      mem_config->menu = NULL;
+    }
   while (mem_config->items)
     {
       Config_Item *ci;
@@ -331,9 +350,11 @@
        evas_list_remove_list (mem_config->items, mem_config->items);
       if (ci->id)
        evas_stringshare_del (ci->id);
-       E_FREE(ci);
+      free (ci);
+      ci = NULL;
     }
-   E_FREE(mem_config);
+  free (mem_config);
+  mem_config = NULL;
   E_CONFIG_DD_FREE (conf_item_edd);
   E_CONFIG_DD_FREE (conf_edd);
   return 1;
@@ -369,7 +390,8 @@
 _mem_free (Mem * m)
 {
   evas_object_del (m->mem_obj);
-   E_FREE(m);
+  free (m);
+  m = NULL;
 }
 
 static void
===================================================================
RCS file: /cvs/e/e_modules/mem/e_mod_main.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- e_mod_main.h        25 Nov 2007 05:37:36 -0000      1.15
+++ e_mod_main.h        2 Dec 2007 16:23:27 -0000       1.16
@@ -10,6 +10,7 @@
 {
    E_Module *module;
    E_Config_Dialog *config_dialog;
+   E_Menu *menu;
    Evas_List *instances;
    Evas_List *items;
 };



-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to