diff options
author | Ole Loots <ole@monochrom.net> | 2012-08-26 20:36:12 +0200 |
---|---|---|
committer | Ole Loots <ole@monochrom.net> | 2012-08-26 20:36:12 +0200 |
commit | c2f2884f651734e8d09b93dab9c6e1b231b447cf (patch) | |
tree | de71c256f24ac605260b2dfa84284ef08f6c9937 | |
parent | c941cee104b16b76177401ea1bcb9f119e77f505 (diff) | |
download | netsurf-c2f2884f651734e8d09b93dab9c6e1b231b447cf.tar.gz netsurf-c2f2884f651734e8d09b93dab9c6e1b231b447cf.tar.bz2 |
Only redraw caret for top windows.
Because we do not all clipping cases...
-rwxr-xr-x | atari/browser.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/atari/browser.c b/atari/browser.c index f88610ad3..86401b6d1 100755 --- a/atari/browser.c +++ b/atari/browser.c @@ -669,9 +669,19 @@ void browser_restore_caret_background( struct gui_window * gw, LGRECT * area) area: the browser canvas
*/
void browser_redraw_caret( struct gui_window * gw, LGRECT * area )
-{
- // TODO: only redraw caret when window is topped.
- if( gw->browser->caret.redraw && gw->browser->caret.requested.g_w > 0 ){
+{ +
+ if( gw->browser->caret.redraw && gw->browser->caret.requested.g_w > 0 ){ + + short wind_info[4]; + + /* Only redraw caret when window is topped. */ + wind_get( 0, WF_TOP, &wind_info[0], &wind_info[1], &wind_info[2], &wind_info[3]); + if (gw->root->handle->handle != wind_info[0]) { + return; + } + +
LGRECT caret;
struct s_browser * b = gw->browser;
struct rect old_clip;
|