On Tuesday 28 March 2006 12:20, Uwe Hanke wrote: > for example, in your background-thread: > > // AutoOsd > if (ShowMessage && !Skins.IsOpen() && !cOsd::IsOpen()) { > ShowMessage = false; > cRemote::CallPlugin("myShowMessage"); > } this looks racy to me. What if two different threads do this? The OSD could open between the if () and ::CallPlugin -- Wolfgang