summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--displaychannel.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/displaychannel.c b/displaychannel.c
index ce5c0ee..8e60a9d 100644
--- a/displaychannel.c
+++ b/displaychannel.c
@@ -97,6 +97,9 @@ void cNopacityDisplayChannel::SetMessage(eMessageType Type, const char *Text) {
}
void cNopacityDisplayChannel::Flush(void) {
+ if (Running())
+ return;
+
channelView->DrawDate();
if (present && !groupSep) {
@@ -139,16 +142,20 @@ void cNopacityDisplayChannel::Flush(void) {
}
void cNopacityDisplayChannel::Action(void) {
+ uint64_t First = cTimeMs::Now();
+ cPixmap::Lock();
+ cPixmap::Unlock();
uint64_t Start = cTimeMs::Now();
+ dsyslog ("skinnopacity: First Lock(): %lims\n", Start - First);
while (Running()) {
uint64_t Now = cTimeMs::Now();
- cPixmap::Lock();
double t = std::min(double(Now - Start) / FadeTime, 1.0);
int Alpha = t * ALPHA_OPAQUE;
+ cPixmap::Lock();
channelView->SetAlpha(Alpha);
- cPixmap::Unlock();
if (Running())
osd->Flush();
+ cPixmap::Unlock();
int Delta = cTimeMs::Now() - Now;
if (Running() && (Delta < FrameTime))
cCondWait::SleepMs(FrameTime - Delta);