From b88919151204afb314b62c5c4a022817bf1809ed Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 1 Aug 2012 11:33:39 -0700 Subject: [PATCH] Only take parent into account if actually relevant to positioning. --- src/main/resources/mouse.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/resources/mouse.js b/src/main/resources/mouse.js index 857cef3..55f99b1 100644 --- a/src/main/resources/mouse.js +++ b/src/main/resources/mouse.js @@ -765,12 +765,15 @@ Guacamole.Mouse.State = function(x, y, left, middle, right, up, down) { parent = parent.offsetParent; } - // Offset by document scroll amount - var documentScrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft; - var documentScrollTop = document.body.scrollTop || document.documentElement.scrollTop; - - guac_state.x -= parent.offsetLeft - documentScrollLeft; - guac_state.y -= parent.offsetTop - documentScrollTop; + // Element ultimately depends on positioning within document body, + // take document scroll into account. + if (parent) { + var documentScrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft; + var documentScrollTop = document.body.scrollTop || document.documentElement.scrollTop; + + guac_state.x -= parent.offsetLeft - documentScrollLeft; + guac_state.y -= parent.offsetTop - documentScrollTop; + } }; -- 1.7.10.4