You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

PeterD

Master

  • "PeterD" started this thread

Posts: 1,769

Location: Hessen

Occupation: Elektronikingenieur

  • Send private message

1

Sunday, December 18th 2005, 12:39pm

tv-onscreen - absturz bei leerem epg

Hallo,

Hab hier ein tv-onscreen 0.7.0 bei 1.3.24 (ctvdr).
Wenn man vorscrolled bis das EPG leer ist und dann OK drückt, rebootet VDR.
Offensichtlich versucht das plugin den leeren eintrag zu markieren und erwischt wohl eine NULL-pointer der VDR zu absturz bringt.

EDIT
Das problem tritt auch auf wenn man OK selektiert hat (eintrag gelb markiert) und dann mit den cursortasten ein leeres EPG feld annavigiert.
/EDIT

Jemand ne schnelle idee ?
Gibts vielleicht schon einen patch dafür ?

gruss Peter
Mein anderer VDR ist (auch) ein EPIA
1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...

. . .TB rulez. . .

This post has been edited 1 times, last edit by "PeterD" (Dec 18th 2005, 1:09pm)


2

Sunday, December 18th 2005, 3:06pm

RE: tv-onscreen - absturz bei leerem epg

Quoted

Original von PeterD
Gibts vielleicht schon einen patch dafür ?


Ja.

http://toms-cafe.de/vdr/download/tvonscr…-fix-noepg.diff

Tom

PeterD

Master

  • "PeterD" started this thread

Posts: 1,769

Location: Hessen

Occupation: Elektronikingenieur

  • Send private message

3

Sunday, December 18th 2005, 5:55pm

RE: tv-onscreen - absturz bei leerem epg

Quoted

Original von TomG

Quoted

Original von PeterD
Gibts vielleicht schon einen patch dafür ?


Ja.

http://toms-cafe.de/vdr/download/tvonscr…-fix-noepg.diff

Tom

Leider fehlt mir /usr/lib/vdrdevel-dev/dependencies.sh
War anscheinend weder bei 1.3.24 oder 1.3.33 dabei.
Hab's erst mal auskommentiert und die patchlevel variable in "control" angepasst.

Das problem ist besser, aber noch nicht komplett gefixed:
Cursor links/rechts geht jetzt auch wenn keine einträge vorliegen.
Cursor down innerhalb einer leeren spalte stürzt aber immer noch ab.

gruss Peter
Mein anderer VDR ist (auch) ein EPIA
1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...

. . .TB rulez. . .

4

Sunday, December 18th 2005, 7:31pm

RE: tv-onscreen - absturz bei leerem epg

Quoted

Original von PeterD
Leider fehlt mir /usr/lib/vdrdevel-dev/dependencies.sh
War anscheinend weder bei 1.3.24 oder 1.3.33 dabei.
Hab's erst mal auskommentiert und die patchlevel variable in "control" angepasst.


In dem Patch gibt es doch gar keine dependencies.sh ... ?( Aber du hast vermutlich die neuste Version des Debianpakets geholt. Hätte ich dir auch vorgeschlagen, wenn dann die Anpassungen nicht nötig gewesen wären. Ich dachte, den Patch einzubauen, ist einfacher. Aber, du hast es ja geschafft.

Quoted

Das problem ist besser, aber noch nicht komplett gefixed:
Cursor links/rechts geht jetzt auch wenn keine einträge vorliegen.
Cursor down innerhalb einer leeren spalte stürzt aber immer noch ab.


Der Patch war auch für den Fall, dass gar keine EPG-Daten da sind. Ich muss mir das nachher mal ansehen.

Tom

PeterD

Master

  • "PeterD" started this thread

Posts: 1,769

Location: Hessen

Occupation: Elektronikingenieur

  • Send private message

5

Sunday, December 18th 2005, 9:20pm

RE: tv-onscreen - absturz bei leerem epg

Quoted

Original von TomG
In dem Patch gibt es doch gar keine dependencies.sh ... ?( Aber du hast vermutlich die neuste Version des Debianpakets geholt. Hätte ich dir auch vorgeschlagen, wenn dann die Anpassungen nicht nötig gewesen wären. Ich dachte, den Patch einzubauen, ist einfacher. Aber, du hast es ja geschafft.

Na ja ist halt ctvdr und da brauchts halt debianisierte quellen.
Hab dann auch gemerkt das es schon drin ist.

Quoted

Original von TomG

Quoted

Das problem ist besser, aber noch nicht komplett gefixed:
Cursor links/rechts geht jetzt auch wenn keine einträge vorliegen.
Cursor down innerhalb einer leeren spalte stürzt aber immer noch ab.


Der Patch war auch für den Fall, dass gar keine EPG-Daten da sind. Ich muss mir das nachher mal ansehen.

Ich benutze infosatepg und diese woche haben einige sender bloss bis donnerstag einige andere (ÖRe) aber bis sonntag programm.
Wenn man dann zwischen den leeren spalten zapt gehts. Die (virtuelle) markierung bewegt sich dabei ohne das der gelb markierte eintrag sich ändert.
Wenn man nun in einer leeren spalte mit der markierung angekommen ist, löst up/down einen neustart aus.

gruss Peter
Mein anderer VDR ist (auch) ein EPIA
1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...

. . .TB rulez. . .

6

Thursday, December 29th 2005, 4:25pm

RE: tv-onscreen - absturz bei leerem epg

Hallo!

Ich habe nun einen Patch für diesen Fehler:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
--- tvonscreen-0.7.0/magazine.c
+++ tvonscreen-0.7.0/magazine.c
@@ -642,6 +642,9 @@
 const cEventInfo *magazine::getNext(const cSchedule *s,const cEventInfo *e)
 #endif
 {
+       if (e == NULL)
+               return NULL;
+
 #if VDRVERSNUM >= 10300
        const cEvent *pe = NULL;
        time_t ref = e->StartTime();
@@ -686,6 +689,9 @@
 const cEventInfo *magazine::getPrev(const cSchedule *s,const cEventInfo *e)
 #endif
 {
+       if (e == NULL)
+               return NULL;
+
 #if VDRVERSNUM >= 10300
        const cEvent *pe = NULL;
        time_t ref = e->StartTime();
@@ -1621,18 +1627,21 @@
                                {
                                        case kOk:
                                                {
-                                                       delete osd;
-                                                       osd=NULL;
 #if VDRVERSNUM >= 10300
                                                        cEvent **ev=ev4ch(EDIT_curChannel);
 #else
                                                        cEventInfo **ev=ev4ch(EDIT_curChannel);
 #endif
-                                                       me=new tvOcMenuEvent(ev[EDIT_curEVI]);
-                                                       me->Display();
-                                                       curmode=SHOW;
-                                                       EDIT_curEvent=0;
-                                                       return osContinue;
+                                                       if (ev[EDIT_curEVI] != NULL)
+                                                       {
+                                                               delete osd;
+                                                               osd=NULL;
+                                                               me=new tvOcMenuEvent(ev[EDIT_curEVI]);
+                                                               me->Display();
+                                                               curmode=SHOW;
+                                                               EDIT_curEvent=0;
+                                                               return osContinue;
+                                                       }
                                                }
                                                break;
                        case kBack:
@@ -1788,21 +1797,24 @@
                                                break;                  */
                                case kRecord:
                                        {
-                                               delete osd;
-                                               osd=NULL;
 #if VDRVERSNUM >= 10300
                                                cEvent **ev=ev4ch(EDIT_curChannel);
 #else
                                                cEventInfo **ev=ev4ch(EDIT_curChannel);
 #endif
-                                               cTimer *timer = new cTimer(ev[EDIT_curEVI]);
-                                               cTimer *t = Timers.GetTimer(timer);
-                                               if (t)
+                                               if (ev[EDIT_curEVI] != NULL)
                                                {
-                                                       delete timer;
-                                                       timer = t;
+                                                       delete osd;
+                                                       osd=NULL;
+                                                       cTimer *timer = new cTimer(ev[EDIT_curEVI]);
+                                                       cTimer *t = Timers.GetTimer(timer);
+                                                       if (t)
+                                                       {
+                                                               delete timer;
+                                                               timer = t;
+                                                       }
+                                                       met=new cMenuEditTimer(timer, !t);
                                                }
-                                               met=new cMenuEditTimer(timer, !t);
                                        }
                                        break;
                                        default:


Da es inzwischen ganz schön unübersichtlich geworden ist mit den ganzen Patches für TVonScreen, bin ich gerade dabei, sie zu einem Gesamt-Patch zusammenzufassen, den ich dann im Patch-Forum posten werde.

Tom

PeterD

Master

  • "PeterD" started this thread

Posts: 1,769

Location: Hessen

Occupation: Elektronikingenieur

  • Send private message

7

Thursday, December 29th 2005, 7:32pm

RE: tv-onscreen - absturz bei leerem epg

@TomG
Bin grad dabei den patch reinzubekommen.
Leider mag das debian patch-system die letzten zwei patch-blöcke nicht.
Ich werd auch nicht schlau draus, da die .rej datei eigentlich einen machbaren patch anzeigt. Ich weiss also nicht warum er rejected.

Hast du vielleicht den kompletten debian patch für ctvdr ?

Gruss Peter
Mein anderer VDR ist (auch) ein EPIA
1)VIA M10000-Nehemiah, 160+120G Samsung; NEC 1300A; YY A106; LCD20x4 ...
2) ctvdr+e-tobi ; C3M266+1,2GHz-Nehmiah; 160G Samsung + 4x500G Seagate SATA; NEC3500; TT-Case; DVB-S 1.3+4MB + Nova ; gLCD 240x128 ...

. . .TB rulez. . .

8

Friday, December 30th 2005, 1:04am

RE: tv-onscreen - absturz bei leerem epg

Quoted

Original von PeterD
Bin grad dabei den patch reinzubekommen.
Leider mag das debian patch-system die letzten zwei patch-blöcke nicht.
Ich werd auch nicht schlau draus, da die .rej datei eigentlich einen machbaren patch anzeigt. Ich weiss also nicht warum er rejected.

Hast du vielleicht den kompletten debian patch für ctvdr ?


Eventuell liegt es daran, dass die Einrückungen nicht stimmen (z.B. Leerzeichen statt Tabs). Zur Not müsstest du die Änderungen manuell einbauen. Oder du nimmst einfach den Gesamt-Patch (lässt sich auch als Dpatch verwenden) bzw. das fertige Debian-Paket, das ich gerade hochgeladen habe.

Tom

9

Sunday, September 10th 2006, 12:48am

Hi!

Ich habe mir mal die mühe gemacht die beiden fixes an TV Onscreen 1.0.141 anzupassen, da die bugfixes da noch nicht drin sind!
apex has attached the following file: