From 43f8e77df7c36ceaa7b8851b779cf81661a686d3 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sun, 30 Jun 2019 11:27:58 +0100 Subject: css/utils.c: Fix vw/vh handling in len2pt We were using integer multiplication rather than fixed-point multiplication when calculating point sizes relative to the viewport. This fixes that. Signed-off-by: Daniel Silverstone --- content/handlers/css/utils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'content') diff --git a/content/handlers/css/utils.c b/content/handlers/css/utils.c index cac777c1f..cf48e8919 100644 --- a/content/handlers/css/utils.c +++ b/content/handlers/css/utils.c @@ -117,8 +117,8 @@ css_fixed nscss_len2pt( case CSS_UNIT_PT: return length; /* 1pc = 12pt */ case CSS_UNIT_PC: return FMUL(length, INTTOFIX(12)); - case CSS_UNIT_VH: return FDIV(FMUL(FDIV((length * ctx->vh), F_100), F_72), F_96); - case CSS_UNIT_VW: return FDIV(FMUL(FDIV((length * ctx->vw), F_100), F_72), F_96); + case CSS_UNIT_VH: return FDIV(FMUL(FDIV(FMUL(length, ctx->vh), F_100), F_72), F_96); + case CSS_UNIT_VW: return FDIV(FMUL(FDIV(FMUL(length,ctx->vw), F_100), F_72), F_96); default: break; } -- cgit v1.2.3