summaryrefslogtreecommitdiff
path: root/framebuffer/gui.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2012-07-31 22:16:06 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2012-07-31 22:16:06 +0100
commit9505fdcf849433d4cb08b4e9a340c3ab73f53e6a (patch)
tree8a75c7db7b224c43ee19549de6fe0ddfed8afbde /framebuffer/gui.c
parent72cb5b6ea47986acab5ec2bc0463db31b9330237 (diff)
downloadnetsurf-9505fdcf849433d4cb08b4e9a340c3ab73f53e6a.tar.gz
netsurf-9505fdcf849433d4cb08b4e9a340c3ab73f53e6a.tar.bz2
Make browser window widget remove caret on "strip focus" event.
Diffstat (limited to 'framebuffer/gui.c')
-rw-r--r--framebuffer/gui.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/framebuffer/gui.c b/framebuffer/gui.c
index 52d2f2532..286f26357 100644
--- a/framebuffer/gui.c
+++ b/framebuffer/gui.c
@@ -1153,6 +1153,20 @@ create_toolbar(struct gui_window *gw,
return toolbar;
}
+/** Routine called when "stripped of focus" event occours for browser widget.
+ *
+ * @param widget The widget reciving "stripped of focus" event.
+ * @param cbi The callback parameters.
+ * @return The callback result.
+ */
+static int
+fb_browser_window_strip_focus(fbtk_widget_t *widget, fbtk_callback_info *cbi)
+{
+ fbtk_set_caret(widget, false, 0, 0, 0, NULL);
+
+ return 0;
+}
+
static void
create_browser_widget(struct gui_window *gw, int toolbar_height, int furniture_width)
{
@@ -1169,6 +1183,7 @@ create_browser_widget(struct gui_window *gw, int toolbar_height, int furniture_w
fbtk_set_handler(gw->browser, FBTK_CBT_REDRAW, fb_browser_window_redraw, gw);
fbtk_set_handler(gw->browser, FBTK_CBT_INPUT, fb_browser_window_input, gw);
fbtk_set_handler(gw->browser, FBTK_CBT_CLICK, fb_browser_window_click, gw);
+ fbtk_set_handler(gw->browser, FBTK_CBT_STRIP_FOCUS, fb_browser_window_strip_focus, gw);
fbtk_set_handler(gw->browser, FBTK_CBT_POINTERMOVE, fb_browser_window_move, gw);
}