Announce vdr-eggtimer-0.9.2 and vdr-zaphistory-0.9.3

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

 



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
-------------- next part --------------
--- vdr-plugin-eggtimer-0.9.2.orig/background.c
+++ vdr-plugin-eggtimer-0.9.2/background.c
@@ -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;

[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux