From 72b7a4bff1bd4f156fdfd9ac5f7c05de840c02e4 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Fri, 6 Mar 2009 08:25:33 +0000 Subject: [PATCH] shelf: fix autohide bug in last commit SVN revision: 39389 --- src/bin/e_shelf.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c index 80b3a1141..a28c1d014 100644 --- a/src/bin/e_shelf.c +++ b/src/bin/e_shelf.c @@ -1386,26 +1386,30 @@ _e_shelf_cb_mouse_out(void *data, int type, void *event) case E_GADCON_ORIENT_LEFT: case E_GADCON_ORIENT_CORNER_LT: case E_GADCON_ORIENT_CORNER_LB: - if ((ev->edge == E_ZONE_EDGE_LEFT) && (ev->x >= es->x + es->w)) + if ((ev->edge == E_ZONE_EDGE_LEFT) && + (ev->x >= es->x + es->w)) show = 0; break; case E_GADCON_ORIENT_RIGHT: case E_GADCON_ORIENT_CORNER_RT: case E_GADCON_ORIENT_CORNER_RB: - if ((ev->edge == E_ZONE_EDGE_RIGHT) && (ev->x < es->x)) - show = 0; + if ((ev->edge == E_ZONE_EDGE_RIGHT) && + (ev->x > es->w) || (-ev->x > es->w)) + show = 0; break; case E_GADCON_ORIENT_TOP: case E_GADCON_ORIENT_CORNER_TL: case E_GADCON_ORIENT_CORNER_TR: - if ((ev->edge == E_ZONE_EDGE_TOP) && (ev->y > es->y + es->h)) - show = 0; + if ((ev->edge == E_ZONE_EDGE_TOP) && + (ev->y > es->y + es->h)) + show = 0; break; case E_GADCON_ORIENT_BOTTOM: case E_GADCON_ORIENT_CORNER_BL: case E_GADCON_ORIENT_CORNER_BR: - if ((ev->edge == E_ZONE_EDGE_BOTTOM) && (ev->y < es->y)) - show = 0; + if ((ev->edge == E_ZONE_EDGE_BOTTOM) && + (ev->y > es->h) || (-ev->y > es->h)) + show = 0; break; default: break;