e-modules/comp-scale
- handle border remove cb - dont add remove cb to some unintialized pointer SVN revision: 84503
This commit is contained in:
parent
3514907b51
commit
b221ced564
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue