summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2013-04-07 12:04:06 +0200
committerlouis <louis.braun@gmx.de>2013-04-07 12:04:06 +0200
commit44f62de1524a552968c35ae3e7e1bf9b79d87127 (patch)
tree67d5e865b2deb4c15af83c65d9a1b63d1e86f654
parentfba3191de71867e91eb51cde93136fcdda64c0ab (diff)
downloadskin-nopacity-44f62de1524a552968c35ae3e7e1bf9b79d87127.tar.gz
skin-nopacity-44f62de1524a552968c35ae3e7e1bf9b79d87127.tar.bz2
Fixed crash on initial startup with xine plugin as output device
-rw-r--r--HISTORY1
-rw-r--r--README5
-rw-r--r--displaychannel.c68
3 files changed, 42 insertions, 32 deletions
diff --git a/HISTORY b/HISTORY
index 4f32a5e..4944016 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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
diff --git a/README b/README
index 9b0c73a..cf9ac20 100644
--- a/README
+++ b/README
@@ -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) {