Mailing List archive

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

[vdr] Re: missing call in cSkins::Message() ?



Joachim Wilke wrote:
> 
> Hi everyone,
> 
> I'm using VDR 1.3.15 and the lcdproc-plugin 0.0.10 and noticed,
> that displaying a message using the cSkins::Message() function
> triggers the same display on the lcd (thats ok) - but when the
> message is cleared from the tv screen, it does not dissappear on
> the lcd.
> 
> For testing, I added the following line to the vdr source and now
> it seems to work for me:
> 
> --- vdr-1.3.15.o/skins.c        Sat May 15 14:34:38 2004
> +++ vdr-1.3.15/skins.c  Thu Nov  4 15:10:00 2004
> @@ -191,6 +191,7 @@
>       delete displayMessage;
>       displayMessage = NULL;
>       }
> +  cStatus::MsgOsdClear();
>    return k;
>  }
> 
> Has this call in cSkins::Message() just been forgotten or is there
> another (better) solution for my problem?

You're right, this is missing.
However, the actual fix should look like this:

--- skins.c     2004/05/15 12:34:38     1.1
+++ skins.c     2004/11/06 11:25:46
@@ -186,10 +186,12 @@
         }
      else
         cSkinDisplay::Current()->SetMessage(Type, NULL);
+     cStatus::MsgOsdClear();
      }
   else if (!s && displayMessage) {
      delete displayMessage;
      displayMessage = NULL;
+     cStatus::MsgOsdClear();
      }
   return k;
 }

That's because a message set with mtStatus will be displayed until
cSkins::Message() is called again with a NULL string.

Klaus




Home | Main Index | Thread Index