From: kborchers Date: Fri, 13 May 2011 15:23:44 +0000 (-0500) Subject: Draggable: Check for grid elements set to 0 to prevent divide by 0 error causing... X-Git-Tag: 1.9m5~29^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=d136e4333e117b33aa16eb9a3a5831a25b1a2dd9;p=jquery-ui.git Draggable: Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE. Fixed #6950 - ie 8 invalid drag and drop error --- diff --git a/ui/jquery.ui.draggable.js b/ui/jquery.ui.draggable.js index d7bc09578..10d7e8a13 100644 --- a/ui/jquery.ui.draggable.js +++ b/ui/jquery.ui.draggable.js @@ -436,10 +436,11 @@ $.widget("ui.draggable", $.ui.mouse, { } if(o.grid) { - var top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1]; + //Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950) + var top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY; pageY = containment ? (!(top - this.offset.click.top < containment[1] || top - this.offset.click.top > containment[3]) ? top : (!(top - this.offset.click.top < containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; - var left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0]; + var left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX; pageX = containment ? (!(left - this.offset.click.left < containment[0] || left - this.offset.click.left > containment[2]) ? left : (!(left - this.offset.click.left < containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; }