Focus is fixed, so remove focus fix function.

Add _e_border_menus_del()


SVN revision: 15816
This commit is contained in:
sebastid 2005-07-19 08:15:03 +00:00 committed by sebastid
parent 92f768a7f8
commit f409c79e62
1 changed files with 32 additions and 72 deletions

View File

@ -21,6 +21,7 @@
/* local subsystem functions */
static void _e_border_free(E_Border *bd);
static void _e_border_del(E_Border *bd);
static void _e_border_menus_del(E_Border *bd);
/* FIXME: these likely belong in a separate icccm/client handler */
/* and the border needs to become a dumb object that just does what its */
@ -119,7 +120,6 @@ static int _e_border_move_begin(E_Border *bd);
static int _e_border_move_end(E_Border *bd);
static void _e_border_move_update(E_Border *bd);
static int _e_border_cb_focus_fix(void *data);
static int _e_border_cb_ping_timer(void *data);
static int _e_border_cb_kill_timer(void *data);
@ -134,8 +134,6 @@ static E_Border *focused = NULL;
static E_Border *resize = NULL;
static E_Border *move = NULL;
static Ecore_Timer *focus_fix_timer = NULL;
static int grabbed = 0;
static Evas_List *focus_stack = NULL;
@ -205,8 +203,6 @@ e_border_init(void)
E_EVENT_BORDER_LOWER = ecore_event_type_new();
E_EVENT_BORDER_ICON_CHANGE = ecore_event_type_new();
//focus_fix_timer = ecore_timer_add(0.1, _e_border_cb_focus_fix, NULL);
return 1;
}
@ -221,8 +217,6 @@ e_border_shutdown(void)
handlers = evas_list_remove_list(handlers, handlers);
ecore_event_handler_del(h);
}
//ecore_timer_del(focus_fix_timer);
focus_fix_timer = NULL;
return 1;
}
@ -1965,26 +1959,9 @@ _e_border_free(E_Border *bd)
free(bd->pending_move_resize->data);
bd->pending_move_resize = evas_list_remove_list(bd->pending_move_resize, bd->pending_move_resize);
}
if (bd->border_menu)
{
e_object_del(E_OBJECT(bd->border_menu));
bd->border_menu = NULL;
}
if (bd->border_locks_menu)
{
e_object_del(E_OBJECT(bd->border_locks_menu));
bd->border_locks_menu = NULL;
}
if (bd->border_remember_menu)
{
e_object_del(E_OBJECT(bd->border_remember_menu));
bd->border_remember_menu = NULL;
}
if (bd->border_stacking_menu)
{
e_object_del(E_OBJECT(bd->border_stacking_menu));
bd->border_stacking_menu = NULL;
}
_e_border_menus_del(bd);
if (focused == bd)
{
// ecore_x_window_focus(bd->zone->container->manager->root);
@ -2083,6 +2060,31 @@ _e_border_del(E_Border *bd)
ecore_event_add(E_EVENT_BORDER_REMOVE, ev, _e_border_event_border_remove_free, NULL);
}
static void
_e_border_menus_del(E_Border *bd)
{
if (bd->border_locks_menu)
{
e_object_del(E_OBJECT(bd->border_locks_menu));
bd->border_locks_menu = NULL;
}
if (bd->border_remember_menu)
{
e_object_del(E_OBJECT(bd->border_remember_menu));
bd->border_remember_menu = NULL;
}
if (bd->border_stacking_menu)
{
e_object_del(E_OBJECT(bd->border_stacking_menu));
bd->border_stacking_menu = NULL;
}
if (bd->border_menu)
{
e_object_del(E_OBJECT(bd->border_menu));
bd->border_menu = NULL;
}
}
static int
_e_border_cb_window_show_request(void *data, int ev_type, void *ev)
{
@ -5073,24 +5075,10 @@ _e_border_cb_border_menu_end(void *data, E_Menu *m)
bd = e_object_data_get(E_OBJECT(m));
if (bd)
{
if (bd->border_locks_menu)
{
e_object_del(E_OBJECT(bd->border_locks_menu));
bd->border_locks_menu = NULL;
}
if (bd->border_remember_menu)
{
e_object_del(E_OBJECT(bd->border_remember_menu));
bd->border_remember_menu = NULL;
}
if (bd->border_stacking_menu)
{
e_object_del(E_OBJECT(bd->border_stacking_menu));
bd->border_stacking_menu = NULL;
}
bd->border_menu = NULL;
_e_border_menus_del(bd);
}
e_object_del(E_OBJECT(m));
else
e_object_del(E_OBJECT(m));
}
#define NEW_LOCK_FN(var) \
@ -6501,34 +6489,6 @@ _e_border_move_update(E_Border *bd)
e_move_update(bd->x, bd->y);
}
static int
_e_border_cb_focus_fix(void *data)
{
if (!focused)
{
/*
Evas_List *managers;
E_Manager *man;
managers = e_manager_list();
if (managers)
{
E_Container *con;
man = managers->data;
con = e_manager_container_current_get(man);
if (con)
{
printf("set foc to %x [%x]\n",
man->focus_win, ecore_x_window_focus_get());
ecore_x_window_focus(man->root);
}
}
*/
}
return 1;
}
static int
_e_border_cb_ping_timer(void *data)
{