Hello,
I experience a segfault with my heavily patched vdr 1.3.47:
#0 0xb7d035e3 in strlen () from /lib/libc.so.6
(gdb) bt
#0 0xb7d035e3 in strlen () from /lib/libc.so.6
#1 0xb6f80788 in cText2SkinStatus::Replaying ()
from /home/vdr/lib1/libvdr-text2skin.so.1.3.47
#2 0x080f398e in cStatus::MsgReplaying (Control=0x8a6e900, Name=0x0,
FileName=0x8a6ebb8 "/tmp/LiveBuffer/SWR1 BW", On=false)
at status.c:41
#3 0x080bfcec in cReplayControl (this=0x8a6e900, IsLiveRec=true,
Recorder=0x0) at recording.h:86
#4 0x08102e02 in cLiveRecorder (this=0x88c8200, ReceiverDevice=0x88962b8,
Channel=0x0) at transfer.c:148
#5 0x081038a9 in cLiveRecorderControl::Action (this=0x88c73d8) at
transfer.c:300
#6 0x080fad89 in cThread::StartThread (Thread=0x88c73d8) at thread.c:244
#7 0xb7ecf364 in start_thread () from /lib/libpthread.so.0
#8 0xb7d5446a in clone () from /lib/libc.so.6
Someone on the ml had a similar problem and postet a patch. I adapted this
patch to the text2skin plugin:
--- vdr-1.3.47/PLUGINS/src/text2skin/status.c 2006-03-17 19:25:57.000000000
+0100
+++ vdr-1.3.47.udev/PLUGINS/src/text2skin/status.c 2006-04-17
20:32:08.000000000 +0200
@@ -8,6 +8,8 @@
const std::string ReplayNames[__REPLAY_COUNT__] =
{ "", "normal", "mp3", "mplayer", "dvd", "vcd", "image" };
+const char* DummyName = "Dummy";
+
cText2SkinStatus Text2SkinStatus;
cText2SkinStatus::cText2SkinStatus(void):
@@ -32,6 +34,8 @@
void cText2SkinStatus::Replaying(const cControl* /*Control*/, const char
*Name,
const char
*FileName, bool On)
{
+ if (!Name) Name = DummyName;
+
Dprintf("cText2SkinStatus::Replaying(%s)\n", Name);
eReplayMode oldMode = mReplayMode;
Common subdirectories: vdr-1.3.47/PLUGINS/src/text2skin/xml and
vdr-1.3.47.udev/PLUGINS/src/text2skin/xml
Maybe someone who really knows what he is doing can use this.
S.