summaryrefslogtreecommitdiff
path: root/framebuffer/fbtk
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2012-07-31 22:14:48 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2012-07-31 22:14:48 +0100
commit72cb5b6ea47986acab5ec2bc0463db31b9330237 (patch)
tree5d86e9d98acd8ae6a1e59a312df5f3cd1b24d9cf /framebuffer/fbtk
parentdaa47fce528aa2dc5eb2c089ac106c744c91a8bb (diff)
downloadnetsurf-72cb5b6ea47986acab5ec2bc0463db31b9330237.tar.gz
netsurf-72cb5b6ea47986acab5ec2bc0463db31b9330237.tar.bz2
Add widget callback for getting stripped of focus. Call it in the input setter, on previous input holder.
Diffstat (limited to 'framebuffer/fbtk')
-rw-r--r--framebuffer/fbtk/fbtk.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/framebuffer/fbtk/fbtk.c b/framebuffer/fbtk/fbtk.c
index d333d20ff..b29fe9fb1 100644
--- a/framebuffer/fbtk/fbtk.c
+++ b/framebuffer/fbtk/fbtk.c
@@ -729,6 +729,9 @@ fbtk_post_callback(fbtk_widget_t *widget, fbtk_callback_type cbt, ...)
case FBTK_CBT_USER:
break;
+ case FBTK_CBT_STRIP_FOCUS:
+ break;
+
default:
break;
}
@@ -749,6 +752,13 @@ fbtk_set_focus(fbtk_widget_t *widget)
/* ensure we have the root widget */
root = fbtk_get_root_widget(widget);
+ if (root->u.root.input != NULL &&
+ root->u.root.input != widget) {
+ /* inform previous holder of focus that it's being stripped
+ * of focus */
+ fbtk_post_callback(root->u.root.input, FBTK_CBT_STRIP_FOCUS);
+ }
+
root->u.root.input = widget;
}