Index: /trunk/as3/com/jeroenwijering/utils/Stacker.as
===================================================================
--- /trunk/as3/com/jeroenwijering/utils/Stacker.as	(revision 115)
+++ /trunk/as3/com/jeroenwijering/utils/Stacker.as	(revision 118)
@@ -94,5 +94,5 @@
 			}
 			if(stack[i].w > width/3) {
-				stack[i].c.width = stack[i].w+rdf+ldf;
+				stack[i].c.width = Math.abs(stack[i].w+rdf+ldf);
 			}
 		}
Index: /trunk/as3/com/jeroenwijering/plugins/Dragdrop.as
===================================================================
--- /trunk/as3/com/jeroenwijering/plugins/Dragdrop.as	(revision 88)
+++ /trunk/as3/com/jeroenwijering/plugins/Dragdrop.as	(revision 118)
@@ -52,5 +52,5 @@
 	private function dropHandler(evt:NativeDragEvent):void {
 		var arr:Array = new Array();
-		var files:Array = Array(evt.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT));
+		var files:Array = evt.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
 		for(var i:int = 0; i < files.length; ++i) {
 			var f:File = File(files[i]);
@@ -65,4 +65,5 @@
 		clip.area.visible = false;
 	};
+
 
 	/** Hide the help text on play. **/
Index: /trunk/as3/com/jeroenwijering/plugins/Display.as
===================================================================
--- /trunk/as3/com/jeroenwijering/plugins/Display.as	(revision 116)
+++ /trunk/as3/com/jeroenwijering/plugins/Display.as	(revision 118)
@@ -139,5 +139,5 @@
 		if(config['height'] > 0) {
 			display.visible = true;
-		} else { 
+		} else {
 			display.visible = false;
 		}
Index: /trunk/as3/com/jeroenwijering/player/Model.as
===================================================================
--- /trunk/as3/com/jeroenwijering/player/Model.as	(revision 115)
+++ /trunk/as3/com/jeroenwijering/player/Model.as	(revision 118)
@@ -24,4 +24,6 @@
 	/** Reference to the skin MovieClip. **/
 	public var skin:MovieClip;
+	/** Object with all display variables. **/
+	private var sploader:SPLoader;
 	/** Reference to the player's controller. **/
 	private var controller:Controller;
@@ -37,7 +39,8 @@
 
 	/** Constructor, save arrays and set currentItem. **/
-	public function Model(cfg:Object,skn:MovieClip,ctr:Controller):void {
+	public function Model(cfg:Object,skn:MovieClip,ldr:SPLoader,ctr:Controller):void {
 		config = cfg;
 		skin = skn;
+		sploader = ldr;
 		Draw.clear(skin.display.media);
 		controller = ctr;
@@ -156,7 +159,8 @@
 	/** Resize the media and thumb. **/
 	private function resizeHandler(evt:Event=null):void {
-		Stretcher.stretch(skin.display.media,config['width'],config['height'],config['stretching']);
+		var cfg:Object = sploader.getPluginConfig(sploader.getPlugin('display'));
+		Stretcher.stretch(skin.display.media,cfg['width'],cfg['height'],config['stretching']);
 		if(thumb.content) {
-			Stretcher.stretch(thumb,config['width'],config['height'],config['stretching']);
+			Stretcher.stretch(thumb,cfg['width'],cfg['height'],config['stretching']);
 		}
 	};
Index: /trunk/as3/com/jeroenwijering/player/Controller.as
===================================================================
--- /trunk/as3/com/jeroenwijering/player/Controller.as	(revision 116)
+++ /trunk/as3/com/jeroenwijering/player/Controller.as	(revision 118)
@@ -86,5 +86,5 @@
 			skin.stage['displayState'] = 'normal';
 		} else {
-			fullscreenrect();
+			try { fullscreenrect(); } catch (err:Error) {}
 			skin.stage['displayState'] = 'fullScreen';
 		}
@@ -94,14 +94,14 @@
 	/** Set the fullscreen rectangle **/
 	private function fullscreenrect():void {
+		var srx:Number = Capabilities.screenResolutionX;
+		var asr:Number = srx/Capabilities.screenResolutionY;
 		try {
-			var srx:Number = Capabilities.screenResolutionX;
-			var asr:Number = srx/Capabilities.screenResolutionY;
 			var wid:Number = playlist[config['item']]['width'];
-			if(wid && wid > srx/2) {
-				skin.stage["fullScreenSourceRect"] = new Rectangle(skin.x,skin.y,wid,Math.round(wid/asr));
-			} else {
-				skin.stage["fullScreenSourceRect"] = new Rectangle(skin.x,skin.y,srx/2,Capabilities.screenResolutionY/2);
-			}
 		} catch (err:Error) {}
+		if(wid && wid > srx/2) {
+			skin.stage["fullScreenSourceRect"] = new Rectangle(skin.x,skin.y,wid,Math.round(wid/asr));
+		} else {
+			skin.stage["fullScreenSourceRect"] = new Rectangle(skin.x,skin.y,srx/2,Capabilities.screenResolutionY/2);
+		}
 	};
 
@@ -343,5 +343,5 @@
 
 
-	/** Forward a resizing of the stage. **/
+	/** Manage a resizing of the stage. **/
 	private function redrawHandler(evt:ViewEvent=null):void {
 		try { 
@@ -350,13 +350,10 @@
 		if(dps == 'fullScreen') {
 			config['fullscreen'] = true;
-			config['width'] = skin.stage.stageWidth;
-			config['height'] = skin.stage.stageHeight;
 			sploader.layoutFullscreen();
-		} else if(config['resizing']) {
-			config['fullscreen'] = false;
-			config['width'] = skin.stage.stageWidth;
-			config['height'] = skin.stage.stageHeight;
-			sploader.layoutNormal();
-		} else {
+		} else {
+			if(config['resizing']) {
+				config['width'] = skin.stage.stageWidth;
+				config['height'] = skin.stage.stageHeight;
+			}
 			config['fullscreen'] = false;
 			sploader.layoutNormal();
Index: /trunk/as3/com/jeroenwijering/player/Desktop.as
===================================================================
--- /trunk/as3/com/jeroenwijering/player/Desktop.as	(revision 88)
+++ /trunk/as3/com/jeroenwijering/player/Desktop.as	(revision 118)
@@ -29,8 +29,8 @@
 	/** MVC inited; now load plugins. **/
 	override protected function loadPlugins():void {
-		new Rightclick().initializePlugin(view);
-		new Display().initializePlugin(view);
-		new Controlbar().initializePlugin(view);
-		new Dragdrop().initializePlugin(view);
+		sploader.addPlugin(new Display(),'display');
+		sploader.addPlugin(new Rightclick(),'rightclick');
+		sploader.addPlugin(new Controlbar(),'controlbar');
+		sploader.addPlugin(new Dragdrop(),'dragdrop');
 		startPlayer();
 	};
Index: /trunk/as3/com/jeroenwijering/player/SPLoader.as
===================================================================
--- /trunk/as3/com/jeroenwijering/player/SPLoader.as	(revision 116)
+++ /trunk/as3/com/jeroenwijering/player/SPLoader.as	(revision 118)
@@ -229,6 +229,8 @@
 			plugins[overs[j]]['visible'] = true;
 		}
-		player.config['width'] = bounds.width;
-		player.config['height'] = bounds.height;
+		if(player.config['resizing']) {
+			player.config['width'] = bounds.width;
+			player.config['height'] = bounds.height;
+		}
 	};
 
@@ -240,6 +242,6 @@
 				plugins[i]['x'] = 0;
 				plugins[i]['y'] = 0;
-				plugins[i]['width'] = player.config['width'];
-				plugins[i]['height'] = player.config['height'];
+				plugins[i]['width'] = player.skin.stage.stageWidth;
+				plugins[i]['height'] = player.skin.stage.stageHeight;
 				plugins[i]['visible'] = true;
 			} else {
Index: /trunk/as3/com/jeroenwijering/player/View.as
===================================================================
--- /trunk/as3/com/jeroenwijering/player/View.as	(revision 116)
+++ /trunk/as3/com/jeroenwijering/player/View.as	(revision 118)
@@ -38,5 +38,5 @@
 	/** Constructor, save references and subscribe to events. **/
 	public function View(cfg:Object,skn:MovieClip,ldr:SPLoader,ctr:Controller,mdl:Model):void {
-		Security.allowDomain("*");
+		try { Security.allowDomain("*"); } catch(err:Error) {}
 		_config = cfg;
 		_config['client'] = 'FLASH '+Capabilities.version;
@@ -46,4 +46,6 @@
 			_skin.stage.align = "TL";
 			_skin.stage.addEventListener(Event.RESIZE,resizeHandler);
+		} else {
+			_skin.stage.addEventListener(FullScreenEvent.FULL_SCREEN,resizeHandler);
 		}
 		sploader = ldr;
@@ -171,5 +173,5 @@
 			ExternalInterface.addCallback("sendEvent",sendEvent);
 			ExternalInterface.call("playerReady",dat);
-		} catch (err:Error) { }
+		} catch (err:Error) {}
 	};
 
Index: /trunk/as3/com/jeroenwijering/player/Player.as
===================================================================
--- /trunk/as3/com/jeroenwijering/player/Player.as	(revision 116)
+++ /trunk/as3/com/jeroenwijering/player/Player.as	(revision 118)
@@ -113,5 +113,5 @@
 	protected function loadMVC(evt:SPLoaderEvent=null):void {
 		controller = new Controller(config,skin,sploader);
-		model = new Model(config,skin,controller);
+		model = new Model(config,skin,sploader,controller);
 		view = new View(config,skin,sploader,controller,model);
 		controller.closeMVC(model,view);
