summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2019-08-01 09:29:22 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2019-08-01 09:29:22 +0100
commitfa64763b0d8c6566eda5f6547e7f2f3e62b77613 (patch)
tree3dd46b7b425c29118d2753ff329fcdf83fa4cacd
parent6c951f7a15a46763992685aae238cdab44483cce (diff)
downloadnetsurf-fa64763b0d8c6566eda5f6547e7f2f3e62b77613.tar.gz
netsurf-fa64763b0d8c6566eda5f6547e7f2f3e62b77613.tar.bz2
browser_history.c: Clamp contents to be 1x1 at min.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
-rw-r--r--desktop/browser_history.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/desktop/browser_history.c b/desktop/browser_history.c
index d9db0eb18..ad9c50115 100644
--- a/desktop/browser_history.c
+++ b/desktop/browser_history.c
@@ -456,11 +456,19 @@ nserror browser_window_history_update(struct browser_window *bw,
if (bw->window != NULL &&
guit->window->get_scroll(bw->window, &sx, &sy)) {
+ int content_height = content_get_height(content);
+ int content_width = content_get_width(content);
+ if (content_height < 1) {
+ content_height = 1;
+ }
+ if (content_width < 1) {
+ content_height = 1;
+ }
/* Successfully got scroll offsets, update the entry */
history->current->page.scroll_x = \
- (float)sx / (float)content_get_width(content);
+ (float)sx / (float)content_width;
history->current->page.scroll_y = \
- (float)sy / (float)content_get_height(content);
+ (float)sy / (float)content_height;
NSLOG(netsurf, INFO, "Updated scroll offsets to %g by %g",
history->current->page.scroll_x,
history->current->page.scroll_y);