summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2010-06-05 09:59:38 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2010-06-05 09:59:38 +0000
commit5753d5950581cdedab4887fbed44e0cf4452fb9c (patch)
tree154f516fdac01a6cfd06d0a40dcf03cedbfd5a80 /amiga
parent6c59c80ed5577afe557aaa3c64a30466b3c9516f (diff)
downloadnetsurf-5753d5950581cdedab4887fbed44e0cf4452fb9c.tar.gz
netsurf-5753d5950581cdedab4887fbed44e0cf4452fb9c.tar.bz2
When redrawing part of a page, draw with respect to the position NetSurf believes the
scrollbars are in, rather than where they actually are. This resolves an issue with graphical corruption and animations, when using the scrollbars to scroll the page (the anim redraw was happening before the event to say the scrollbar had moved was being received) svn path=/trunk/netsurf/; revision=10563
Diffstat (limited to 'amiga')
-rwxr-xr-xamiga/gui.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/amiga/gui.c b/amiga/gui.c
index bd50b8a12..530ef9319 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -3003,8 +3003,8 @@ void gui_window_set_title(struct gui_window *g, const char *title)
* \param y0 top-left co-ordinate (in document co-ordinates)
* \param x1 bottom-right co-ordinate (in document co-ordinates)
* \param y1 bottom-right co-ordinate (in document co-ordinates)
- * \param sx horizontal scroller position
- * \param sy vertical scroller position
+ * \param sx horizontal scroller position (currently ignored/overridden)
+ * \param sy vertical scroller position (currently ignored/overridden)
*/
void ami_do_redraw_limits(struct gui_window *g, hlcache_handle *c,int x0, int y0, int x1, int y1, ULONG sx, ULONG sy)
@@ -3016,6 +3016,9 @@ void ami_do_redraw_limits(struct gui_window *g, hlcache_handle *c,int x0, int y0
if(!g) return;
+ sx = g->scrollx;
+ sy = g->scrolly;
+
if(g->tab_node && (g->shared->tabs > 1)) GetAttr(CLICKTAB_Current,
g->shared->objects[GID_TABS], (ULONG *)&cur_tab);
@@ -3088,6 +3091,9 @@ void gui_window_redraw(struct gui_window *g, int x0, int y0, int x1, int y1)
{
ULONG sx,sy;
hlcache_handle *c;
+
+ if(!g) return;
+
c = g->shared->bw->current_content;
ami_get_hscroll_pos(g->shared, (ULONG *)&sx);
@@ -3735,6 +3741,8 @@ void ami_scroller_hook(struct Hook *hook,Object *object,struct IntuiMessage *msg
if(option_faster_scroll)
gwin->redraw_scroll = true;
+ else gwin->redraw_scroll = false;
+
gwin->redraw_required = true;
break;
}