From: Enlightenment C. <no...@cv...> - 2007-12-02 16:39:38
|
Enlightenment CVS committal Author : englebass Project : e_modules Module : weather Dir : e_modules/weather Modified Files: e_mod_main.c e_mod_main.h Log Message: Revert gadcon menu change. =================================================================== RCS file: /cvs/e/e_modules/weather/e_mod_main.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -3 -r1.61 -r1.62 --- e_mod_main.c 25 Nov 2007 05:52:45 -0000 1.61 +++ e_mod_main.c 2 Dec 2007 16:39:35 -0000 1.62 @@ -64,6 +64,7 @@ void *event_info); static void _weather_menu_cb_configure (void *data, E_Menu * m, E_Menu_Item * mi); +static void _weather_menu_cb_post (void *data, E_Menu * m); static int _weather_cb_check (void *data); static Config_Item *_weather_config_item_get (const char *id); static Weather *_weather_new (Evas * evas); @@ -207,13 +208,15 @@ inst = data; ev = event_info; - if ((ev->button == 3) && (!inst->gcc->menu)) + if ((ev->button == 3) && (!weather_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, _weather_menu_cb_post, inst); + weather_config->menu = mn; mi = e_menu_item_new (mn); e_menu_item_label_set (mi, D_ ("Configuration")); @@ -236,6 +239,15 @@ } static void +_weather_menu_cb_post (void *data, E_Menu * m) +{ + if (!weather_config->menu) + return; + e_object_del (E_OBJECT (weather_config->menu)); + weather_config->menu = NULL; +} + +static void _weather_menu_cb_configure (void *data, E_Menu * m, E_Menu_Item * mi) { Instance *inst; @@ -356,6 +368,12 @@ if (weather_config->config_dialog) e_object_del (E_OBJECT (weather_config->config_dialog)); + if (weather_config->menu) + { + e_menu_post_deactivate_callback_set (weather_config->menu, NULL, NULL); + e_object_del (E_OBJECT (weather_config->menu)); + weather_config->menu = NULL; + } while (weather_config->items) { =================================================================== RCS file: /cvs/e/e_modules/weather/e_mod_main.h,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- e_mod_main.h 25 Nov 2007 05:52:45 -0000 1.23 +++ e_mod_main.h 2 Dec 2007 16:39:35 -0000 1.24 @@ -17,6 +17,7 @@ E_Config_Dialog *config_dialog; Evas_List *instances; Evas_List *items; + E_Menu *menu; }; struct _Config_Item |
From: Enlightenment C. <no...@cv...> - 2008-08-13 05:29:47
|
Enlightenment CVS committal Author : englebass Project : e_modules Module : weather Dir : e_modules/weather Modified Files: e_mod_main.c Log Message: Better check for missing http_proxy env. =================================================================== RCS file: /cvs/e/e_modules/weather/e_mod_main.c,v retrieving revision 1.63 retrieving revision 1.64 diff -u -3 -r1.63 -r1.64 --- e_mod_main.c 18 May 2008 16:24:43 -0000 1.63 +++ e_mod_main.c 13 Aug 2008 05:29:43 -0000 1.64 @@ -57,7 +57,9 @@ { const char *host; int port; -} proxy; +} proxy = { + NULL, 0 +}; /* Module Function Protos */ static void _weather_cb_mouse_down (void *data, Evas * e, Evas_Object * obj, @@ -442,31 +444,36 @@ static void _weather_get_proxy (void) { - char env[128]; + char *env; - snprintf (env, sizeof (env), "%s", getenv ("http_proxy")); - if (!env[0]) snprintf (env, sizeof (env), "%s", getenv ("HTTP_PROXY")); + env = getenv ("http_proxy"); + if ((!env) || (!*env)) env = getenv ("HTTP_PROXY"); + if ((!env) || (!*env)) return; if (strncmp (env, "http://", 7)) return; char *host = NULL; char *p; int port = 0; + env = strdup(env); host = strchr (env, ':'); host += 3; p = strchr (host, ':'); if (p) - { - *p = 0; - p++; - if (sscanf (p, "%d", &port) != 1) - port = 0; - } + { + *p = 0; + p++; + if (sscanf (p, "%d", &port) != 1) + port = 0; + } + // FIXME: A proxy doesn't necessarily need a port if ((host) && (port)) - { - proxy.host = evas_stringshare_add (host); - proxy.port = port; - } + { + if (proxy.host) evas_stringshare_del(proxy.host); + proxy.host = evas_stringshare_add (host); + proxy.port = port; + } + free(env); } static int |