On 18.05.2013 17:49, Dominique Dumont wrote:
Hello

I'm using vdr 2.0.1 on Debian (with Debian package) and xineliboutput (also 
provided by Debian).

I can connect xine on vdr, but once I hit 'ESC' to get the main menu, vdr 
segfaults.

Here's the backtrace:

Core was generated by `/usr/bin/vdr -v /mnt/video2/vdr -c /var/lib/vdr -L 
/usr/lib/vdr/plugins -r /usr'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000000004eee4f in cSkinLCARSDisplayMenu::DrawLive (this=0x21c1c70, 
Channel=0x0) at skinlcars.c:1344

warning: Source file is more recent than executable.
1344         osd->DrawText(xa00, yt00, itoa(Channel->Number()), 
Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg),
tallFont, xa02 - xa00, yt02 - yt00, taTop | taRight | taBorder);
(gdb) bt
#0  0x00000000004eee4f in cSkinLCARSDisplayMenu::DrawLive (this=0x21c1c70, 
Channel=0x0) at skinlcars.c:1344
#1  0x00000000004ef0f2 in cSkinLCARSDisplayMenu::Flush (this=0x21c1c70) at 
skinlcars.c:1659
#2  0x00000000004a5124 in cInterface::GetKey (this=0x21788e0, Wait=true) at 
interface.c:35
#3  0x00000000004732d5 in main (argc=<optimized out>, argv=<optimized out>) at 
vdr.c:1016

Note that I've found this message in my logs:

[xine..put] cXinelibOsd::CanHandleAreas(): Device does not support ARGB

Since the theme colors looks like they are specified as ARGB, this may hint at 
a problem there.

The problem appears to be that there is no current channel. I don't know
how this could happen on your system, because normally there always is s
current channel. However, you could try adding these lines to skinlcars.c
in function cSkinLCARSDisplayMenu::DrawLive():

      DrawMainFrameUpper(Theme.Color(clrChannelFrameBg));
      osd->DrawText(xd00, yd00, tr("LIVE"), Theme.Color(clrChannelFrameBg), 
Theme.Color(clrBackground), tallFont, xd07 - xd00, yd01 - yd00, taTop | taRight | taBorder);
      }
+  if (!Channel)
+     return;
   if (initial || Channel != lastChannel) {
      osd->DrawText(xa00, yt00, itoa(Channel->Number()), 
Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), tallFont, xa02 - 
xa00, yt02 - yt00, taTop | taRight | taBorder);
      osd->DrawText(xa03, yt00, Channel->Name(), Theme.Color(clrChannelName), 
Theme.Color(clrBackground), tallFont, xd00 - xa03, yd01 - yd00, taTop | taLeft);


Klaus

_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to