Index: libs/libmythtv/videoout_quartz.cpp
===================================================================
--- libs/libmythtv/videoout_quartz.cpp	(revision 7693)
+++ libs/libmythtv/videoout_quartz.cpp	(working copy)
@@ -52,7 +52,6 @@
 #import <CoreGraphics/CGBase.h>
 #import <CoreGraphics/CGDisplayConfiguration.h>
 #import <CoreGraphics/CGImage.h>
-#import <Carbon/Carbon.h>
 #import <QuickTime/QuickTime.h>
 
 class VideoOutputQuartzView;
@@ -1391,6 +1390,14 @@
             tmp->SetFrameSkip(gContext->GetNumSetting("MacMainSkip", 0));
             data->views.append(tmp);
         }
+        else {  
+            //if video in the main window is not enabled, hide it so it is not in the way
+            Rect theBounds;
+            GetWindowBounds (data->window, kWindowStructureRgn, &theBounds);
+            defaultWindowBounds = theBounds;
+            SizeWindow(data->window, 1, 1, true);
+            //todo -- it would be nice if we could see the mouse when in windowed mode
+        }
         if (gContext->GetNumSetting("MacFloatEnabled", 0))
         {
             float opacity =
@@ -1531,7 +1538,16 @@
     if (Started) 
     {
         Started = false;
+		
+        //unhide main window
+        //we don't care about this if we are in full screen mode
+        if (data->windowedMode){
+            VERBOSE(VB_PLAYBACK,
+                QString("Restoring Main Window to %1x%2") 
+                    .arg(defaultWindowBounds.right - defaultWindowBounds.left).arg(defaultWindowBounds.bottom - defaultWindowBounds.top));
 
+            SetWindowBounds (data->window, kWindowStructureRgn, &defaultWindowBounds);
+        }
         data->views.clear();
         DeleteQuartzBuffers();
     }
Index: libs/libmythtv/videoout_quartz.h
===================================================================
--- libs/libmythtv/videoout_quartz.h	(revision 7693)
+++ libs/libmythtv/videoout_quartz.h	(working copy)
@@ -4,6 +4,7 @@
 struct QuartzData;
 
 #include "videooutbase.h"
+#import <Carbon/Carbon.h>
 
 class VideoOutputQuartz : public VideoOutput
 {
@@ -42,6 +43,8 @@
     QuartzData * data;
 
     VideoFrame   pauseFrame;
+	
+    Rect defaultWindowBounds;   
 };
 
 #endif
