diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/Xee.xcodeproj/project.pbxproj Xee/Xee.xcodeproj/project.pbxproj
--- Xee2/Xee.xcodeproj/project.pbxproj	2007-01-29 21:09:46.000000000 +0100
+++ Xee/Xee.xcodeproj/project.pbxproj	2007-12-10 22:28:04.000000000 +0100
@@ -3,7 +3,7 @@
 	archiveVersion = 1;
 	classes = {
 	};
-	objectVersion = 42;
+	objectVersion = 44;
 	objects = {
 
 /* Begin PBXBuildFile section */
@@ -1109,6 +1109,7 @@
 		2A37F4A9FDCFA73011CA2CEA /* Project object */ = {
 			isa = PBXProject;
 			buildConfigurationList = 1B74977908D33EA2003CCA48 /* Build configuration list for PBXProject "Xee" */;
+			compatibilityVersion = "Xcode 3.0";
 			hasScannedForEncodings = 1;
 			knownRegions = (
 				English,
@@ -1119,6 +1120,7 @@
 			);
 			mainGroup = 2A37F4AAFDCFA73011CA2CEA /* Xee */;
 			projectDirPath = "";
+			projectRoot = "";
 			targets = (
 				8D15AC270486D014006FF6A4 /* Xee */,
 			);
@@ -1484,6 +1486,10 @@
 		1B74976E08D33EA2003CCA48 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = (
+					ppc,
+					i386,
+				);
 				COPY_PHASE_STRIP = NO;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_DYNAMIC_NO_PIC = NO;
@@ -1538,7 +1544,7 @@
 				);
 				PREBINDING = NO;
 				PRODUCT_NAME = Xee;
-				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+				SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
 				WRAPPER_EXTENSION = app;
 				ZERO_LINK = NO;
 			};
@@ -1547,16 +1553,20 @@
 		1B74977A08D33EA2003CCA48 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				MACOSX_DEPLOYMENT_TARGET = 10.4;
-				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+				ARCHS = "$(NATIVE_ARCH)";
+				BUILD_VARIANTS = normal;
+				MACOSX_DEPLOYMENT_TARGET = 10.5;
+				SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
 			};
 			name = Debug;
 		};
 		1B74977B08D33EA2003CCA48 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
-				MACOSX_DEPLOYMENT_TARGET = 10.4;
-				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+				ARCHS = "$(NATIVE_ARCH)";
+				BUILD_VARIANTS = normal;
+				MACOSX_DEPLOYMENT_TARGET = 10.5;
+				SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
 			};
 			name = Release;
 		};
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeArchiveSource.m Xee/XeeArchiveSource.m
--- Xee2/XeeArchiveSource.m	2006-12-10 18:27:33.000000000 +0100
+++ Xee/XeeArchiveSource.m	2007-12-09 20:18:31.000000000 +0100
@@ -122,6 +122,13 @@
 	return [archiveclass archiveForFile:archivename];
 }
 
+-(void)redrawCurrentImage
+{
+	int index=currindex;
+	[self setCurrentImage:nil index:-1];
+	[self pickImageAtIndex:index next:nextindex];
+}
+
 @end
 
 
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeClipboardSource.h Xee/XeeClipboardSource.h
--- Xee2/XeeClipboardSource.h	2006-12-06 01:09:59.000000000 +0100
+++ Xee/XeeClipboardSource.h	2007-12-09 20:11:04.000000000 +0100
@@ -18,5 +18,5 @@
 -(BOOL)isNavigatable;
 
 -(void)pickImageAtIndex:(int)index next:(int)next;
-
+-(void)redrawCurrentImage;
 @end
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeClipboardSource.m Xee/XeeClipboardSource.m
--- Xee2/XeeClipboardSource.m	2006-12-06 01:10:08.000000000 +0100
+++ Xee/XeeClipboardSource.m	2007-12-09 20:33:25.000000000 +0100
@@ -54,5 +54,9 @@
 
 -(void)pickImageAtIndex:(int)index next:(int)next { [self triggerImageChangeAction:image]; }
 
+-(void)redrawCurrentImage
+{
+	[self pickImageAtIndex:0 next:0];
+}
 
 @end
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeController.h Xee/XeeController.h
--- Xee2/XeeController.h	2007-01-16 20:41:46.000000000 +0100
+++ Xee/XeeController.h	2007-12-09 15:05:53.000000000 +0100
@@ -39,9 +39,11 @@
 
 	NSMutableArray *tasks;
 
+	XeeView *imageview_inactive;
+
 	IBOutlet NSWindow *window;
     IBOutlet XeeView *imageview;
-    IBOutlet XeeStatusBar *statusbar;
+	IBOutlet XeeStatusBar *statusbar;
     IBOutlet NSDrawer *drawer;
 	IBOutlet NSSegmentedControl *drawerseg;
 	IBOutlet XeeDestinationView *destinationtable;
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeController.m Xee/XeeController.m
--- Xee2/XeeController.m	2007-01-27 03:59:19.000000000 +0100
+++ Xee/XeeController.m	2007-12-10 22:24:05.000000000 +0100
@@ -950,13 +950,18 @@
 
 		savedsuperview=[imageview superview];
 		savedframe=[imageview frame];
-		[imageview removeFromSuperview];
+//		[imageview removeFromSuperview];
+		
+		imageview_inactive = imageview;
+		imageview = [[XeeView alloc] initWithFrame: [fullscreenwindow frame]];
+		[imageview setImage:[imageview_inactive image]];
+
 		[[fullscreenwindow contentView] addSubview:imageview];
 		[fullscreenwindow makeFirstResponder:imageview];
 
 		[imageview setFrame:[[fullscreenwindow contentView] bounds]];
 		[fullscreenwindow setFrame:[[window screen] frame] display:NO];
-
+		
 		NSMenu *menu=[[NSApplication sharedApplication] mainMenu];
 		[[menu itemAtIndex:0] setTitle:@"Xee"]; // eek, hack!
 		[imageview setMenu:menu];
@@ -966,18 +971,25 @@
 
 		[self setStandardImageSize];
 		[fullscreenwindow makeKeyAndOrderFront:nil];
+		
 	}
 	else
 	{
 		[fullscreenwindow orderOut:nil];
-
+		
 		[imageview removeFromSuperview];
-		[savedsuperview addSubview:imageview];
-		[window makeFirstResponder:imageview];
+//		[savedsuperview addSubview:imageview];
+//		[window makeFirstResponder:imageview];
 
 		[imageview setFrame:savedframe];
 
 		[imageview setMenu:nil];
+		
+		[imageview_inactive setImage:[imageview image]];
+		[imageview release];
+		imageview = imageview_inactive;
+
+		[window makeFirstResponder:imageview];
 
 		[[maindelegate propertiesController] setFullscreenMode:NO];
 		SetSystemUIMode(kUIModeNormal,0);
@@ -987,7 +999,13 @@
 
 		[self setStandardImageSize];
 		[window makeKeyAndOrderFront:nil];
+		
 	}
+	
+	[source redrawCurrentImage];
+		
+	[movetool setView:imageview];
+	[croptool setView:imageview];
 }
 
 
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeFileSource.h Xee/XeeFileSource.h
--- Xee2/XeeFileSource.h	2006-12-09 21:31:48.000000000 +0100
+++ Xee/XeeFileSource.h	2007-12-09 20:10:07.000000000 +0100
@@ -52,6 +52,8 @@
 -(void)launchLoader;
 -(void)loader;
 
+-(void)redrawCurrentImage;
+
 @end
 
 
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeFileSource.m Xee/XeeFileSource.m
--- Xee2/XeeFileSource.m	2007-01-28 17:28:18.000000000 +0100
+++ Xee/XeeFileSource.m	2007-12-09 20:57:24.000000000 +0100
@@ -391,7 +391,12 @@
 	[pool release];
 }
 
-
+-(void)redrawCurrentImage
+{
+	int index=currindex;
+	[self setCurrentImage:nil index:-1];
+	[self pickImageAtIndex:index next:nextindex];
+}
 
 @end
 
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeImageSource.h Xee/XeeImageSource.h
--- Xee2/XeeImageSource.h	2006-12-09 21:31:48.000000000 +0100
+++ Xee/XeeImageSource.h	2007-12-09 20:07:00.000000000 +0100
@@ -58,6 +58,7 @@
 -(void)triggerImageChangeAction:(XeeImage *)image;
 -(void)triggerImageListChangeAction;
 
+-(void)redrawCurrentImage;
 @end
 
 
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeImageSource.m Xee/XeeImageSource.m
--- Xee2/XeeImageSource.m	2006-12-09 21:32:15.000000000 +0100
+++ Xee/XeeImageSource.m	2007-12-09 20:44:41.000000000 +0100
@@ -205,6 +205,10 @@
 	[delegate xeeImageSource:self imageListDidChange:[self numberOfImages]];
 }
 
+-(void)redrawCurrentImage
+{
+}
+
 @end
 
 
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeTool.h Xee/XeeTool.h
--- Xee2/XeeTool.h	2006-12-15 02:36:39.000000000 +0100
+++ Xee/XeeTool.h	2007-12-09 21:30:23.000000000 +0100
@@ -12,6 +12,7 @@
 
 -(id)initWithView:(XeeView *)view;
 -(void)dealloc;
+-(void)setView:(XeeView *)newview;
 
 -(void)mouseDownAt:(NSPoint)position;
 -(void)mouseUpAt:(NSPoint)position;
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeTool.m Xee/XeeTool.m
--- Xee2/XeeTool.m	2006-12-15 02:37:02.000000000 +0100
+++ Xee/XeeTool.m	2007-12-09 21:30:15.000000000 +0100
@@ -55,4 +55,10 @@
 
 -(void)draw {}
 
+-(void)setView:(XeeView *)newview
+{
+	view = newview;
+}
+
+
 @end
diff -ruN -x Maestro.mode1v3 -x .DS_Store -x xeedisasm.s -x Maestro.pbxuser -x Maestro.perspectivev3 Xee2/XeeTypes.h Xee/XeeTypes.h
--- Xee2/XeeTypes.h	2007-01-28 17:28:12.000000000 +0100
+++ Xee/XeeTypes.h	2007-12-04 23:03:53.000000000 +0100
@@ -70,7 +70,7 @@
 static inline int XeeSpanPastEnd(XeeSpan span) { return span.start+span.length; }
 static inline int XeeSpanLength(XeeSpan span) { return span.length; }
 static inline BOOL XeeSpanEmpty(XeeSpan span) { return span.length==0; }
-static inline BOOL XeePointInSpan(int point,XeeSpan span) { return point>=XeeSpanStart(span)&&point<XeeSpanPastEnd(span); }
+//sstatic inline BOOL XeePointInSpan(int point,XeeSpan span) { return point>=XeeSpanStart(span)&&point<XeeSpanPastEnd(span); }
 static inline BOOL XeePointInSpan(int point,XeeSpan span) { return point>=XeeSpanStart(span)&&point<XeeSpanPastEnd(span); }
 static inline BOOL XeeSpanStartsInSpan(XeeSpan span,XeeSpan inspan) { return XeePointInSpan(XeeSpanStart(span),inspan); }
 static inline BOOL XeeSpanEndsInSpan(XeeSpan span,XeeSpan inspan) { return XeePointInSpan(XeeSpanEnd(span),inspan); }
