         // do nothing in base MediaContainer 
     }
 
+    /**
+     * Note: This method is NOT used in normal mouseOver calculations.
+     * Normal mouseOver stuff seems to be completely broken for transparent
+     * images: the transparent portion is a 'hit'. I've (Ray) tried
+     * just about everything to fix this, more than once.
+     *
+     * But if someone *does* call this method (we do, in whirled), then
+     * attempt to do the right thing.
+     */
+    override public function hitTestPoint (
+        x :Number, y :Number, shapeFlag :Boolean = false) :Boolean
+    {
+        // if we're holding a bitmap, do something smarter than the
+        // flash built-in and actually check for *GASP* transparent pixels!
+        try {
+            if (shapeFlag && _media is Loader && 
+                    // the childAllowsParent check here causes a security
+                    // violation if it doesn't. WHAT THE FLYING FUCK.
+                    Loader(_media).contentLoaderInfo.childAllowsParent &&
+                    (Loader(_media).content is Bitmap)) {
+                var b :Bitmap = Bitmap(Loader(_media).content);
+                var p :Point = b.globalToLocal(new Point(x, y));
+                // check that it's within the content bounds, and then check the bitmap directly
+                if (p.x >= 0 && p.x <= getMaxContentWidth() && p.y >= 0 &&
+                        p.y <= getMaxContentHeight() &&
+                        b.bitmapData.hitTest(new Point(0, 0), 0, p)) {
+                    return true;
+
+                } else {
+                    // the bitmap was not hit, see if other children were hit...
+                    for (var ii :int = numChildren - 1; ii >= 0; ii--) {
+                        var child :DisplayObject = getChildAt(ii);
+                        if (child != _media && child.hitTestPoint(x, y, shapeFlag)) {
+                            return true;
+                        }
+                    }
+                    return false;
+                }
+            }
+        } catch (err :Error) {
+            // nada
+        }
+
+        // normal hit testing
+        return super.hitTestPoint(x, y, shapeFlag);
+    }
+
     override public function toString () :String
     {
         return "MediaContainer[url=" + _url + "]";


package com.threerings.flash {

//import flash.display.Bitmap;
import flash.display.DisplayObject;
import flash.display.DisplayObjectContainer;
import flash.display.Loader;

        } else {
            setupSwfOrImage(url);
        }
        didShowNewMedia();
    }

    /**
