Index: magnifier.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/magnifier/magnifier.module,v
retrieving revision 1.7
diff -u -p -r1.7 magnifier.module
--- magnifier.module	28 Jan 2008 14:53:11 -0000	1.7
+++ magnifier.module	17 Oct 2008 23:53:04 -0000
@@ -114,9 +114,12 @@ function magnifier_class($magnify = NULL
     }
     $js = '
 $(document).ready(function() {
-  $("img' . $id_or_class . $class_name . '").magnify({ scale:' . $magnify . ', glassSize:' . $glass_size . $image_str . ' });
+  var img = new Image();
+  $(img).load(function () {
+    $("img' . $id_or_class . $class_name . '").magnify({ scale:' . $magnify . ', glassSize:' . $glass_size . $image_str . ' });
+  }).attr("src", "'. $image .'");
 });
-    ';
+';
     drupal_add_js($js, 'inline');
     $count++;
   }
Index: js/magnifier.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/magnifier/js/magnifier.js,v
retrieving revision 1.2
diff -u -p -r1.2 magnifier.js
--- js/magnifier.js	23 Jan 2008 16:54:45 -0000	1.2
+++ js/magnifier.js	17 Oct 2008 23:53:04 -0000
@@ -146,8 +146,8 @@ jQuery.fn.magnify = function(args){
 
       _position:function(e){
         // position the overlay under the mouse
-        var l = Math.floor(e.pageX - (w/2));
-        var t = Math.floor(e.pageY - (h/2));
+        var l = Math.floor(e.pageX - (args.glassSize / 2));
+        var t = Math.floor(e.pageY - (args.glassSize / 2));
 
         $(m.overlay).css({
           top: t+"px",
@@ -158,8 +158,8 @@ jQuery.fn.magnify = function(args){
         var _off = $(m.srcNode).offset({ scroll:true });
         var xOff = (e.pageX - _off.left) / w;
         var yOff = (e.pageY - _off.top) / h;
-        var x = (m.size.w * xOff * -1)+(w * xOff);
-        var y = (m.size.h * yOff * -1)+(h * yOff);
+        var x = (m.size.w * xOff * -1) + (args.glassSize / 2);
+        var y = (m.size.h * yOff * -1) + (args.glassSize / 2);
         $(m.img).css({
           top: y+"px",
           left: x+"px"
