summaryrefslogtreecommitdiff
path: root/framebuffer/fb_cursor.c
diff options
context:
space:
mode:
Diffstat (limited to 'framebuffer/fb_cursor.c')
-rw-r--r--framebuffer/fb_cursor.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/framebuffer/fb_cursor.c b/framebuffer/fb_cursor.c
index e2c066be7..cc6a30d42 100644
--- a/framebuffer/fb_cursor.c
+++ b/framebuffer/fb_cursor.c
@@ -35,6 +35,7 @@
#include "framebuffer/fb_bitmap.h"
#include "framebuffer/fb_cursor.h"
#include "framebuffer/fb_frontend.h"
+#include "framebuffer/fb_rootwindow.h"
struct fb_cursor_s {
int x;
@@ -262,11 +263,18 @@ fb_cursor_click(framebuffer_t *fb,
struct gui_window *g,
browser_mouse_state st)
{
+ /* check click lies within window */
+ if ((fb->cursor->x > g->x) &&
+ (fb->cursor->y > g->y) &&
+ (fb->cursor->x < g->x + g->width) &&
+ (fb->cursor->y < g->y + g->height)) {
browser_window_mouse_click(g->bw,
st,
- fb->cursor->x,
- fb->cursor->y + g->scrolly);
-
+ fb->cursor->x - g->x + g->scrollx,
+ fb->cursor->y - g->y + g->scrolly);
+ } else {
+ fb_rootwindow_click(st, fb->cursor->x, fb->cursor->y);
+ }
}
/*