 		var parentBridge:IEventDispatcher = swfBridgeGroup.parentBridge;
 		if (parentBridge && parentBridge != skip)
 		{
+		    // Ensure the requestor property has the correct bridge.
+            if (clone is SWFBridgeRequest)
+                SWFBridgeRequest(clone).requestor = parentBridge;
+                
 			parentBridge.dispatchEvent(clone);
 		}
 		
 		var children:Array = swfBridgeGroup.getChildBridges();
-		for (i = 0; i < children.length; i++)
+		for (var i:int = 0; i < children.length; i++)
 		{
 			if (children[i] != skip)
 			{

            actualType = EventUtil.sandboxMouseEventMap[request.eventType];
            if (actualType)
            {
				removeEventListenerFromOtherSystemManagers(request.eventType, otherSystemManagerMouseListener, request.useCapture);
                removeEventListenerFromSandboxes(request.eventType, sandboxMouseListener,
                            request.useCapture, event.target as IEventDispatcher);
                if (getSandboxRoot() == this)
                    super.removeEventListener(actualType, eventProxy.marshalListener,
                            request.useCapture);
            }
        }		
	}

		var x:Number = (m - w) / 2;
		var y:Number = (n - h) / 2;
		
		if (align == StageAlign.TOP)
		{
			y = 0;
