diff options
author | louis <louis.braun@gmx.de> | 2013-04-07 12:04:06 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2013-04-07 12:04:06 +0200 |
commit | 44f62de1524a552968c35ae3e7e1bf9b79d87127 (patch) | |
tree | 67d5e865b2deb4c15af83c65d9a1b63d1e86f654 | |
parent | fba3191de71867e91eb51cde93136fcdda64c0ab (diff) | |
download | skin-nopacity-44f62de1524a552968c35ae3e7e1bf9b79d87127.tar.gz skin-nopacity-44f62de1524a552968c35ae3e7e1bf9b79d87127.tar.bz2 |
Fixed crash on initial startup with xine plugin as output device
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | README | 5 | ||||
-rw-r--r-- | displaychannel.c | 68 |
3 files changed, 42 insertions, 32 deletions
@@ -187,3 +187,4 @@ Version 0.1.1 - changed tracks display to fixed track item height - changed stereo and ac3 icons in tracks display - Added RSS Feed support +- Fixed crash on initial startup with xine plugin as output device @@ -72,6 +72,11 @@ package maintainer or distributor in parallel. For S2-6400 Users: Disable High Level OSD, otherwise the plugin will not be loaded because lack of true color support +For Xine-Plugin Users: Set "Blend scaled Auto" as OSD display mode to achieve +an suitable true color OSD. + +For Xineliboutput Users: Start vdr-sxfe with the --hud option enabled + Usage ----- 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) { |