         
         invalidateDisplayList();        
     }
+	
+	/**
+	 * @private
+	 */
+	override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
+	{
+		// this can get called before we know our systemManager.  Hook it up later in initialize()
+		if (type == UncaughtErrorEvent.UNCAUGHT_ERROR && systemManager)
+			systemManager.loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorRedispatcher);
+		super.addEventListener(type, listener, useCapture, priority, useWeakReference)
+	}    
+	
+	/**
+	 * @private
+	 */
+	override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
+	{
+		super.removeEventListener(type, listener, useCapture);
+		if (type == UncaughtErrorEvent.UNCAUGHT_ERROR && systemManager)
+			systemManager.loaderInfo.uncaughtErrorEvents.removeEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorRedispatcher);
+	}
+	
+	private function uncaughtErrorRedispatcher(event:Event):void
+	{
+		if (!dispatchEvent(event))
+			event.preventDefault();
+	}
 }
 
 }

 *  @productversion Flex 4
 */
[Event(name="error", type="flash.events.ErrorEvent")]

//--------------------------------------
//  Styles

        
        var sm:ISystemManager = systemManager;
        
		// add listener if one is already attached
		if (hasEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR))
			systemManager.loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorRedispatcher);
		
        _url = LoaderUtil.normalizeURL(sm.loaderInfo);
        _parameters = sm.loaderInfo.parameters;

