someone forgot to worry about warp_timer_border on deletions. :)

SVN revision: 83891
This commit is contained in:
Carsten Haitzler 2013-02-14 12:54:38 +00:00
parent 6d0ccb4d99
commit 77f9977ce1
1 changed files with 39 additions and 25 deletions

View File

@ -388,6 +388,8 @@ e_border_shutdown(void)
borders_hash = NULL; borders_hash = NULL;
e_int_border_menu_hooks_clear(); e_int_border_menu_hooks_clear();
focus_locked = EINA_FALSE; focus_locked = EINA_FALSE;
if (warp_timer) ecore_timer_del(warp_timer);
warp_timer = NULL;
warp_timer_border = NULL; warp_timer_border = NULL;
return 1; return 1;
@ -4860,6 +4862,12 @@ e_border_resize_limit(E_Border *bd,
static void static void
_e_border_free(E_Border *bd) _e_border_free(E_Border *bd)
{ {
if (warp_timer_border == bd)
{
if (warp_timer) ecore_timer_del(warp_timer);
warp_timer = NULL;
warp_timer_border = NULL;
}
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8) #if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8)
if (bd->client.e.state.profile.use) if (bd->client.e.state.profile.use)
{ {
@ -10225,8 +10233,10 @@ _e_border_pointer_warp_to_center_timer(void *data __UNUSED__)
return ECORE_CALLBACK_RENEW; return ECORE_CALLBACK_RENEW;
} }
cleanup: cleanup:
ecore_timer_del(warp_timer); if (warp_timer) ecore_timer_del(warp_timer);
warp_timer = NULL; warp_timer = NULL;
if (warp_timer_border)
{
warp_x[0] = warp_x[1] = warp_y[0] = warp_y[1] = -1; warp_x[0] = warp_x[1] = warp_y[0] = warp_y[1] = -1;
e_border_focus_lock_set(EINA_FALSE); e_border_focus_lock_set(EINA_FALSE);
e_focus_event_mouse_in(warp_timer_border); e_focus_event_mouse_in(warp_timer_border);
@ -10253,6 +10263,7 @@ cleanup:
e_border_focus_latest_set(warp_timer_border); e_border_focus_latest_set(warp_timer_border);
} }
warp_timer_border = NULL; warp_timer_border = NULL;
}
return ECORE_CALLBACK_CANCEL; return ECORE_CALLBACK_CANCEL;
} }
@ -10262,6 +10273,9 @@ e_border_pointer_warp_to_center_now(E_Border *bd)
if (e_config->disable_all_pointer_warps) return 0; if (e_config->disable_all_pointer_warps) return 0;
if (warp_timer_border == bd) if (warp_timer_border == bd)
{ {
if (warp_timer) ecore_timer_del(warp_timer);
warp_timer = NULL;
warp_timer_border = NULL;
ecore_x_pointer_warp(warp_to_win, warp_to_x, warp_to_y); ecore_x_pointer_warp(warp_to_win, warp_to_x, warp_to_y);
warp_to = 0; warp_to = 0;
} }