diff -ur libs/libmythtv/guidegrid.cpp libs/libmythtv/guidegrid.cpp --- libs/libmythtv/guidegrid.cpp 2008-02-05 20:37:25.000000000 -0800 +++ libs/libmythtv/guidegrid.cpp 2008-07-05 15:20:20.000000000 -0700 @@ -740,12 +740,14 @@ type->SetText(curTime); } + if (m_player) { if (m_player->IsRunning() == true && videoRect.width() > 0 && - videoRect.height() > 0) + videoRect.height() > 0 && m_player->IsEmbedding() == false) { m_player->EmbedOutput(this->winId(), videoRect.x(), videoRect.y(), videoRect.width(), videoRect.height()); + } } fillProgramInfos(); diff -ur libs/libmythtv/NuppelVideoPlayer.cpp libs/libmythtv/NuppelVideoPlayer.cpp --- libs/libmythtv/NuppelVideoPlayer.cpp 2008-03-09 15:32:48.000000000 -0700 +++ libs/libmythtv/NuppelVideoPlayer.cpp 2008-07-05 15:17:17.000000000 -0700 @@ -911,6 +911,10 @@ m_scan_locked = false; } +FrameScanType NuppelVideoPlayer::GetScanType() { + return m_scan; +} + void NuppelVideoPlayer::SetScanType(FrameScanType scan) { QMutexLocker locker(&videofiltersLock); diff -ur libs/libmythtv/NuppelVideoPlayer.h libs/libmythtv/NuppelVideoPlayer.h --- libs/libmythtv/NuppelVideoPlayer.h 2008-03-07 16:07:31.000000000 -0800 +++ libs/libmythtv/NuppelVideoPlayer.h 2008-07-05 14:52:18.000000000 -0700 @@ -164,6 +164,7 @@ void NextScanType(void) { SetScanType((FrameScanType)(((int)m_scan + 1) & 0x3)); } + FrameScanType GetScanType(); void SetScanType(FrameScanType); FrameScanType GetScanType(void) const { return m_scan; } bool IsScanTypeLocked(void) const { return m_scan_locked; } diff -ur libs/libmythtv/tv_play.cpp libs/libmythtv/tv_play.cpp --- libs/libmythtv/tv_play.cpp 2008-03-23 17:25:24.000000000 -0700 +++ libs/libmythtv/tv_play.cpp 2008-07-05 15:10:59.000000000 -0700 @@ -5749,14 +5749,19 @@ embedWinID = wid; embedBounds = QRect(x,y,w,h); - if (nvp) + if (nvp) { + m_current_scan = nvp->GetScanType(); + nvp->SetScanType((FrameScanType) 3); nvp->EmbedInWidget(wid, x, y, w, h); + } } void TV::StopEmbeddingOutput(void) { - if (nvp) + if (nvp) { nvp->StopEmbedding(); + nvp->SetScanType(m_current_scan); + } embedWinID = 0; } diff -ur libs/libmythtv/tv_play.h libs/libmythtv/tv_play.h --- libs/libmythtv/tv_play.h 2008-02-05 20:37:25.000000000 -0800 +++ libs/libmythtv/tv_play.h 2008-07-05 14:54:45.000000000 -0700 @@ -436,6 +437,7 @@ QString db_channel_format; QString db_time_format; QString db_short_date_format; + FrameScanType m_current_scan; int fftime; int rewtime; int jumptime;