e-modules/comp-scale

- handle border remove cb
- dont add remove cb to some unintialized pointer

SVN revision: 84503
This commit is contained in:
Hannes Janetzek 2013-04-11 03:06:39 +00:00 committed by Tom Hacohen
parent 3514907b51
commit b221ced564
1 changed files with 30 additions and 4 deletions

View File

@ -696,7 +696,8 @@ _pager_win_new(Evas *e, E_Manager *man, E_Manager_Comp_Source *src)
evas_object_show(o);
bg_over = o;
evas_object_stack_above(bg_over, sh_obj);
// FIXME needed?
//evas_object_stack_above(bg_over, sh_obj);
if (scale_conf->pager_fade_desktop)
evas_object_color_set(bg_over, 0, 0, 0, 0);
@ -742,9 +743,6 @@ _pager_win_new(Evas *e, E_Manager *man, E_Manager_Comp_Source *src)
items = eina_list_append(items, it);
evas_object_event_callback_add(it->o_win, EVAS_CALLBACK_DEL,
_pager_win_cb_delorig, it);
if ((it->bd->client.netwm.state.skip_pager) ||
(e_mod_border_ignore(it->bd)))
return NULL;
@ -1055,6 +1053,31 @@ _pager_cb_key_up(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
return ECORE_CALLBACK_PASS_ON;
}
static Eina_Bool
_pager_cb_border_remove(void *data, int type, void *event)
{
E_Event_Border_Remove *ev = event;
Eina_List *l;
Item *it;
EINA_LIST_FOREACH(items, l, it)
{
if (it->bd == ev->border)
{
items = eina_list_remove(items, it);
if (selected_item == it)
selected_item = NULL;
evas_object_del(it->o_win);
_pager_win_del(it);
break;
}
}
return ECORE_CALLBACK_PASS_ON;
}
static Eina_Bool
_pager_run(E_Manager *man)
{
@ -1111,6 +1134,9 @@ _pager_run(E_Manager *man)
h = ecore_event_handler_add(ECORE_EVENT_KEY_UP,
_pager_cb_key_up, e);
handlers = eina_list_append(handlers, h);
h = ecore_event_handler_add(E_EVENT_BORDER_REMOVE,
_pager_cb_border_remove, e);
handlers = eina_list_append(handlers, h);
zoom = zone->desk_x_count;
if (zoom < zone->desk_y_count)