summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2012-12-21 15:23:46 +0000
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>2012-12-21 15:23:46 +0000
commit6e7b994ed4ef31fa2ac842dd6a5f98f7ee386c94 (patch)
treee4c548e35868927d4f7d8ffc277639cdd8e3656e
parente3776baabf18e4506117612f8723654442662f0b (diff)
set systray default style to plain, recreate systray when icon is deleted to prevent crazy sizing issues
SVN revision: 81554
-rw-r--r--src/modules/systray/e_mod_main.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/modules/systray/e_mod_main.c b/src/modules/systray/e_mod_main.c
index fd4d386ce..035344cd9 100644
--- a/src/modules/systray/e_mod_main.c
+++ b/src/modules/systray/e_mod_main.c
@@ -752,13 +752,27 @@ _systray_cb_window_destroy(void *data, int type __UNUSED__, void *event)
752 Instance *inst = data; 752 Instance *inst = data;
753 Icon *icon; 753 Icon *icon;
754 Eina_List *l; 754 Eina_List *l;
755 Eina_Bool found = EINA_FALSE;
755 756
756 EINA_LIST_FOREACH(inst->icons, l, icon) 757 EINA_LIST_FOREACH(inst->icons, l, icon)
757 if (icon->win == ev->win) 758 if (icon->win == ev->win)
758 { 759 {
759 _systray_icon_del_list(inst, l, icon); 760 _systray_icon_del_list(inst, l, icon);
761 found = EINA_TRUE;
760 break; 762 break;
761 } 763 }
764 if (found)
765 {
766 _systray_deactivate(inst);
767 if (!_systray_activate(inst))
768 {
769 if (!inst->timer.retry)
770 inst->timer.retry = ecore_timer_add
771 (0.1, _systray_activate_retry_first, inst);
772 else
773 edje_object_signal_emit(inst->ui.gadget, _sig_disable, _sig_source);
774 }
775 }
762 776
763 return ECORE_CALLBACK_PASS_ON; 777 return ECORE_CALLBACK_PASS_ON;
764} 778}
@@ -1170,7 +1184,7 @@ static const E_Gadcon_Client_Class _gc_class =
1170 _gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, NULL, 1184 _gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, _gc_id_new, NULL,
1171 _systray_site_is_safe 1185 _systray_site_is_safe
1172 }, 1186 },
1173 E_GADCON_CLIENT_STYLE_INSET 1187 E_GADCON_CLIENT_STYLE_PLAIN
1174}; 1188};
1175 1189
1176EAPI E_Module_Api e_modapi = {E_MODULE_API_VERSION, _Name}; 1190EAPI E_Module_Api e_modapi = {E_MODULE_API_VERSION, _Name};