diff options
Diffstat (limited to 'displaychannel.c')
-rw-r--r-- | displaychannel.c | 68 |
1 files changed, 36 insertions, 32 deletions
diff --git a/displaychannel.c b/displaychannel.c index 4a8994c..d9b03b3 100644 --- a/displaychannel.c +++ b/displaychannel.c @@ -22,45 +22,49 @@ cNopacityDisplayChannel::cNopacityDisplayChannel(bool WithInfo) { FadeTime = config.channelFadeTime; lastDate = ""; SetGeometry(); - CreatePixmaps(); - CreateFonts(); - DrawBackground(); - DrawSignalMeter(); + if (osd) { + CreatePixmaps(); + CreateFonts(); + DrawBackground(); + DrawSignalMeter(); + } } cNopacityDisplayChannel::~cNopacityDisplayChannel() { Cancel(-1); while (Active()) cCondWait::SleepMs(10); - osd->DestroyPixmap(pixmapBackgroundTop); - osd->DestroyPixmap(pixmapBackgroundBottom); - osd->DestroyPixmap(pixmapLogo); - osd->DestroyPixmap(pixmapChannelInfo); - osd->DestroyPixmap(pixmapDate); - if (withInfo) { - osd->DestroyPixmap(pixmapBackgroundMiddle); - osd->DestroyPixmap(pixmapProgressBar); - osd->DestroyPixmap(pixmapEPGInfo); - } - if (pixmapScreenResolution) - osd->DestroyPixmap(pixmapScreenResolution); - osd->DestroyPixmap(pixmapFooter); - osd->DestroyPixmap(pixmapStreamInfo); - osd->DestroyPixmap(pixmapStreamInfoBack); - if (config.displaySignalStrength && showSignal) { - osd->DestroyPixmap(pixmapSignalStrength); - osd->DestroyPixmap(pixmapSignalQuality); - osd->DestroyPixmap(pixmapSignalMeter); - osd->DestroyPixmap(pixmapSignalLabel); - } - if (config.displaySignalStrength && showSignal) { - delete fontInfoline; + if (osd) { + osd->DestroyPixmap(pixmapBackgroundTop); + osd->DestroyPixmap(pixmapBackgroundBottom); + osd->DestroyPixmap(pixmapLogo); + osd->DestroyPixmap(pixmapChannelInfo); + osd->DestroyPixmap(pixmapDate); + if (withInfo) { + osd->DestroyPixmap(pixmapBackgroundMiddle); + osd->DestroyPixmap(pixmapProgressBar); + osd->DestroyPixmap(pixmapEPGInfo); + } + if (pixmapScreenResolution) + osd->DestroyPixmap(pixmapScreenResolution); + osd->DestroyPixmap(pixmapFooter); + osd->DestroyPixmap(pixmapStreamInfo); + osd->DestroyPixmap(pixmapStreamInfoBack); + if (config.displaySignalStrength && showSignal) { + osd->DestroyPixmap(pixmapSignalStrength); + osd->DestroyPixmap(pixmapSignalQuality); + osd->DestroyPixmap(pixmapSignalMeter); + osd->DestroyPixmap(pixmapSignalLabel); + } + if (config.displaySignalStrength && showSignal) { + delete fontInfoline; + } + delete fontHeader; + delete fontDate; + delete fontEPG; + delete fontEPGSmall; + delete osd; } - delete fontHeader; - delete fontDate; - delete fontEPG; - delete fontEPGSmall; - delete osd; } void cNopacityDisplayChannel::SetGeometry(void) { |