summaryrefslogtreecommitdiff
path: root/desktop/textinput.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2013-01-03 12:48:09 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2013-01-03 12:48:09 +0000
commit4aadb5237a27dee82c6660294d4e76aa0d17503e (patch)
tree554128113abb34bef4dca17d9e6b69da0f452a6c /desktop/textinput.c
parent70d83baa6dfa244d38273254c8151aedb5cbbc4e (diff)
downloadnetsurf-4aadb5237a27dee82c6660294d4e76aa0d17503e.tar.gz
netsurf-4aadb5237a27dee82c6660294d4e76aa0d17503e.tar.bz2
Ensure selection related keypresses go to whatever has claimed input.
Diffstat (limited to 'desktop/textinput.c')
-rw-r--r--desktop/textinput.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/desktop/textinput.c b/desktop/textinput.c
index 8efc71963..36daa374d 100644
--- a/desktop/textinput.c
+++ b/desktop/textinput.c
@@ -127,6 +127,12 @@ bool browser_window_key_press(struct browser_window *bw, uint32_t key)
assert(bw->window != NULL);
+ if (focus->caret_callback) {
+ /* Pass keypress onto anything that has claimed input focus */
+ return focus->caret_callback(focus, key,
+ focus->caret_p1, focus->caret_p2);
+ }
+
/* keys that take effect wherever the caret is positioned */
switch (key) {
case KEY_SELECT_ALL:
@@ -151,12 +157,7 @@ bool browser_window_key_press(struct browser_window *bw, uint32_t key)
return false;
}
- /* pass on to the appropriate field */
- if (!focus->caret_callback)
- return false;
-
- return focus->caret_callback(focus, key,
- focus->caret_p1, focus->caret_p2);
+ return false;
}