Announce vdr-eggtimer-0.9.2 and vdr-zaphistory-0.9.3
Commit Message
Peter Juszack wrote:
> - corrected thread termination to avoid several problems ( reported by
> C.Y.M )
There's another problem. It's not allowed to use Skins.Message() from
within a thread other than the main thread. You should use
QueueMessage() (available since vdr 1.3.37) instead (see attached
patch). You may need to add some ifdef's to check for the correct vdr
version. I'm afraid the Interface->Status() code for VDR < 1.3.14 will
not work either.
bye,
Tobias
@@ -71,7 +71,7 @@
#if VDRVERSNUM < 10314
Interface->Error( tr("Eggtimer: could not switch channel") );
#else
- Skins.Message( mtError, tr("Eggtimer: could not switch channel") );
+ Skins.QueueMessage( mtError, tr("Eggtimer: could not switch channel") );
#endif
}
@@ -94,9 +94,7 @@
usleep( Setup.OSDMessageTime * 1000);
Interface->Status( NULL );
#else
- Skins.Message( mtStatus, eggtimer->msg );
- cCondWait::SleepMs( Setup.OSDMessageTime * 1000);
- Skins.Message( mtStatus, NULL );
+ Skins.QueueMessage( mtInfo, eggtimer->msg, 0, -1);
#endif
// remember time when message was displayed
lastInfo = now;
@@ -116,7 +114,7 @@
#if VDRVERSNUM < 10314
Interface->Error( tr("Eggtimer: command not found") );
#else
- Skins.Message( mtError, tr("Eggtimer: command not found") );
+ Skins.QueueMessage( mtError, tr("Eggtimer: command not found") );
#endif
leaveLoop = true; // Stop eggtimer thread
} break;