Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Setting the OSD colors; method cPalette::Colors



Hi Mike,

I have the changing OSD colors now allredy for >6 Month but I havn't seached
for fixing it very hard yet.
I just tested your proposal on 0.99pre3+EIT fix; result negative (means no
effect). 

The OSD color bug seems to happen when trying to to get into menu while
replaying or recording. LIRC is intermittend just when this happens too (this
means you press the menu butten for > 10 time without anything happening);
SVDRP works at the same time without delay.

Anyway, your mentioned part of the code is suspective to me too:

in dvbosd.c (near line 63):
const eDvbColor *cPalette::Colors(int &FirstColor, int &LastColor)
{
  for (FirstColor = 0; FirstColor < numColors; FirstColor++) {
      if (!fetched[FirstColor]) {
         for (LastColor = FirstColor; LastColor < numColors && 
!fetched[LastColor]; LastColor++)
             fetched[LastColor] = true;
         LastColor--; // the loop ended one past the last one!
         return &color[FirstColor];
         }
      }
  return NULL;
}
 
Shouldn't it be:
	fetched[LastColor - 1] = true;	// instead of [LastColor]
<this works only without your modification, otherwise VDR crashes!>

as this seems to mark the color in the palette as being fetched allready?

I will test it and keep you updated.

regards	Peter Dittmann



Home | Main Index | Thread Index