Enlightenment CVS committal

Author  : englebass
Project : e_modules
Module  : screenshot

Dir     : e_modules/screenshot


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:
Revert gadcon menu change.

===================================================================
RCS file: /cvs/e/e_modules/screenshot/e_mod_main.c,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -3 -r1.79 -r1.80
--- e_mod_main.c        25 Nov 2007 04:55:52 -0000      1.79
+++ e_mod_main.c        2 Dec 2007 16:33:40 -0000       1.80
@@ -45,6 +45,7 @@
 static void _ss_cb_mouse_down (void *data, Evas * e, Evas_Object * obj,
                               void *event_info);
 static void _ss_menu_cb_configure (void *data, E_Menu * m, E_Menu_Item * mi);
+static void _ss_menu_cb_post (void *data, E_Menu * m);
 static Config_Item *_ss_config_item_get (const char *id);
 static Screenshot *_ss_new (Evas * evas);
 static void _ss_free (Screenshot * ss);
@@ -161,13 +162,15 @@
 
   inst = data;
   ev = event_info;
-  if ((ev->button == 3) && (!inst->gcc->menu))
+  if ((ev->button == 3) && (!ss_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, _ss_menu_cb_post, inst);
+      ss_config->menu = mn;
 
       mi = e_menu_item_new (mn);
       e_menu_item_label_set (mi, D_ ("Configuration"));
@@ -183,7 +186,7 @@
                             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);
     }
@@ -192,6 +195,15 @@
 }
 
 static void
+_ss_menu_cb_post (void *data, E_Menu * m)
+{
+  if (!ss_config->menu)
+    return;
+  e_object_del (E_OBJECT (ss_config->menu));
+  ss_config->menu = NULL;
+}
+
+static void
 _ss_menu_cb_configure (void *data, E_Menu * m, E_Menu_Item * mi)
 {
   Instance *inst;
@@ -380,6 +392,12 @@
 
   if (ss_config->config_dialog)
     e_object_del (E_OBJECT (ss_config->config_dialog));
+  if (ss_config->menu)
+    {
+      e_menu_post_deactivate_callback_set (ss_config->menu, NULL, NULL);
+      e_object_del (E_OBJECT (ss_config->menu));
+      ss_config->menu = NULL;
+    }
 
   while (ss_config->items)
     {
@@ -396,9 +414,11 @@
        evas_stringshare_del (ci->app);
       ss_config->items =
        evas_list_remove_list (ss_config->items, ss_config->items);
-       E_FREE(ci);
+      free (ci);
+      ci = NULL;
     }
-   E_FREE(ss_config);
+  free (ss_config);
+  ss_config = NULL;
   E_CONFIG_DD_FREE (conf_item_edd);
   E_CONFIG_DD_FREE (conf_edd);
   return 1;
===================================================================
RCS file: /cvs/e/e_modules/screenshot/e_mod_main.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- e_mod_main.h        25 Nov 2007 04:55:52 -0000      1.22
+++ e_mod_main.h        2 Dec 2007 16:33:40 -0000       1.23
@@ -10,6 +10,7 @@
 {
    E_Module *module;
    E_Config_Dialog *config_dialog;
+   E_Menu *menu;
    Evas_List *instances;
    Evas_List *items;
    Ecore_Event_Handler *exe_exit_handler;



-------------------------------------------------------------------------
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