diff options
author | Daniel Friesel <derf@finalrewind.org> | 2018-05-11 23:17:59 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2018-05-11 23:17:59 +0200 |
commit | 44148026914b06417037f0d4fe6f714f99d1d687 (patch) | |
tree | 44d6dc25771c9bcedf0c3347a45216dd8c514877 /src | |
parent | b63fb7e5ebc63afc7a91e2af2f8c9145c04a121d (diff) |
Do not push menus off the screen when hitting screen limits
Closes #279
Diffstat (limited to 'src')
-rw-r--r-- | src/events.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/events.c b/src/events.c index 4a24935..89eaab8 100644 --- a/src/events.c +++ b/src/events.c @@ -509,6 +509,8 @@ static void feh_event_handle_MotionNotify(XEvent * ev) dy = scr_height - (m->y + m->h); dx = dx < 0 ? dx : 0; dy = dy < 0 ? dy : 0; + dx = m->x + dx < 0 ? -m->x : dx; + dy = m->y + dy < 0 ? -m->y : dy; if (dx || dy) feh_menu_slide_all_menus_relative(dx, dy); } @@ -521,6 +523,8 @@ static void feh_event_handle_MotionNotify(XEvent * ev) dy = scr->height - (m->next->y + m->next->h); dx = dx < 0 ? dx : 0; dy = dy < 0 ? dy : 0; + dx = m->x + dx < 0 ? -m->x : dx; + dy = m->y + dy < 0 ? -m->y : dy; if (dx || dy) feh_menu_slide_all_menus_relative(dx, dy); } |