diff --git a/mythtv/libs/libmythtv/tv_play.cpp b/mythtv/libs/libmythtv/tv_play.cpp
index 768a829..23417b6 100644
a
|
b
|
|
5 | 5 | #include <unistd.h> |
6 | 6 | #include <stdint.h> |
7 | 7 | #include <pthread.h> |
| 8 | #include <sstream> |
8 | 9 | |
9 | 10 | #include <algorithm> |
10 | 11 | using namespace std; |
… |
… |
bool TV::Init(bool createWindow) |
1131 | 1132 | |
1132 | 1133 | TV::~TV(void) |
1133 | 1134 | { |
1134 | | LOG(VB_PLAYBACK, LOG_INFO, "TV::~TV() -- begin"); |
| 1135 | std::stringstream ss; |
| 1136 | ss << "TV::~TV(" << hex << this << ") -- begin"; |
| 1137 | LOG(VB_PLAYBACK, LOG_INFO, ss.str().c_str()); |
| 1138 | |
| 1139 | emit PlayerDied(); |
1135 | 1140 | |
1136 | 1141 | if (browsehelper) |
1137 | 1142 | browsehelper->Stop(); |
… |
… |
TV::~TV(void) |
1196 | 1201 | } |
1197 | 1202 | ReturnPlayerLock(mctx); |
1198 | 1203 | |
1199 | | LOG(VB_PLAYBACK, LOG_INFO, "TV::~TV() -- end"); |
| 1204 | ss << "TV::~TV(" << hex << this << ") -- end"; |
| 1205 | LOG(VB_PLAYBACK, LOG_INFO, ss.str().c_str()); |
1200 | 1206 | } |
1201 | 1207 | |
1202 | 1208 | /** |
diff --git a/mythtv/libs/libmythtv/tv_play.h b/mythtv/libs/libmythtv/tv_play.h
index e8f90e7..05d8bb2 100644
a
|
b
|
class MTV_PUBLIC TV : public QObject |
263 | 263 | void HandleOSDClosed(int osdType); |
264 | 264 | void timerEvent(QTimerEvent*); |
265 | 265 | |
| 266 | signals: |
| 267 | void PlayerDied(); |
| 268 | |
266 | 269 | protected: |
267 | 270 | void OSDDialogEvent(int result, QString text, QString action); |
268 | 271 | |
diff --git a/mythtv/programs/mythfrontend/guidegrid.cpp b/mythtv/programs/mythfrontend/guidegrid.cpp
index f6ba87b..931b432 100644
a
|
b
|
|
5 | 5 | #include <math.h> |
6 | 6 | #include <unistd.h> |
7 | 7 | #include <iostream> |
| 8 | #include <sstream> |
8 | 9 | #include <algorithm> |
9 | 10 | using namespace std; |
10 | 11 | |
… |
… |
void GuideGrid::RunProgramGuide(uint chanid, const QString &channum, |
217 | 218 | delete gg; |
218 | 219 | } |
219 | 220 | |
| 221 | void GuideGrid::playerDeath(void) |
| 222 | { |
| 223 | std::stringstream ss; |
| 224 | ss << "GuideGrid::playerDeath (m_player = " << hex << m_player << ")"; |
| 225 | LOG(VB_PLAYBACK, LOG_INFO, ss.str().c_str()); |
| 226 | m_player = NULL; |
| 227 | } |
| 228 | |
220 | 229 | GuideGrid::GuideGrid(MythScreenStack *parent, |
221 | 230 | uint chanid, QString channum, |
222 | 231 | TV *player, bool embedVideo, |
… |
… |
GuideGrid::GuideGrid(MythScreenStack *parent, |
262 | 271 | m_currentStartTime = m_originalStartTime.addSecs(secsoffset); |
263 | 272 | m_startChanID = chanid; |
264 | 273 | m_startChanNum = channum; |
| 274 | connect (m_player, SIGNAL(PlayerDied()), this, SLOT(playerDeath())); |
265 | 275 | } |
266 | 276 | |
267 | 277 | bool GuideGrid::Create() |
… |
… |
void GuideGrid::updateChannels(void) |
1466 | 1476 | PixmapChannel *chinfo = GetChannelInfo(m_currentStartChannel); |
1467 | 1477 | |
1468 | 1478 | if (m_player) |
1469 | | m_player->ClearTunableCache(); |
| 1479 | { |
| 1480 | std::stringstream ss; |
| 1481 | ss << "TV::ClearTunableCache (m_player = " << hex << m_player << ")"; |
| 1482 | LOG(VB_PLAYBACK, LOG_INFO, ss.str().c_str()); |
| 1483 | m_player->ClearTunableCache(); |
| 1484 | } |
1470 | 1485 | |
1471 | 1486 | for (unsigned int y = 0; (y < (unsigned int)m_channelCount) && chinfo; ++y) |
1472 | 1487 | { |
… |
… |
void GuideGrid::updateChannels(void) |
1482 | 1497 | |
1483 | 1498 | if (m_player) |
1484 | 1499 | { |
| 1500 | std::stringstream ss; |
| 1501 | ss << "TV::GetPlayerReadLock (m_player = " << hex << m_player << ")"; |
| 1502 | LOG(VB_PLAYBACK, LOG_INFO, ss.str().c_str()); |
| 1503 | |
1485 | 1504 | const PlayerContext *ctx = m_player->GetPlayerReadLock( |
1486 | 1505 | -1, __FILE__, __LINE__); |
1487 | 1506 | if (ctx && chinfo) |
… |
… |
void GuideGrid::updateChannels(void) |
1525 | 1544 | InfoMap infomap; |
1526 | 1545 | chinfo->ToMap(infomap); |
1527 | 1546 | item->SetTextFromMap(infomap); |
1528 | | |
| 1547 | |
1529 | 1548 | if (chinfo && !chinfo->icon.isEmpty()) |
1530 | 1549 | { |
1531 | 1550 | if (chinfo->CacheChannelIcon()) |
diff --git a/mythtv/programs/mythfrontend/guidegrid.h b/mythtv/programs/mythfrontend/guidegrid.h
index 541043e..c3ac54b 100644
a
|
b
|
class GuideGrid : public ScheduleCommon, public JumpToChannelListener |
130 | 130 | |
131 | 131 | void Close(); |
132 | 132 | void customEvent(QEvent *event); |
| 133 | void playerDeath(); |
133 | 134 | |
134 | 135 | protected: |
135 | 136 | GuideGrid(MythScreenStack *parentStack, |