diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2013-01-03 12:48:09 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2013-01-03 12:48:09 +0000 |
commit | 4aadb5237a27dee82c6660294d4e76aa0d17503e (patch) | |
tree | 554128113abb34bef4dca17d9e6b69da0f452a6c /desktop | |
parent | 70d83baa6dfa244d38273254c8151aedb5cbbc4e (diff) | |
download | netsurf-4aadb5237a27dee82c6660294d4e76aa0d17503e.tar.gz netsurf-4aadb5237a27dee82c6660294d4e76aa0d17503e.tar.bz2 |
Ensure selection related keypresses go to whatever has claimed input.
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/textinput.c | 13 |
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; } |