From 0b44443a34cedbad4aa02d18e7c1019348c36949 Mon Sep 17 00:00:00 2001 From: "Arun Kumar K.R" Date: Mon, 30 Jul 2012 18:24:30 -0700 Subject: [PATCH] hwcomposer: fix the bug in setting connected status to ext display the hdmi driver can send change uevent anytime, in which case, the connected state was getting set to 0, due to its default value. Change-Id: I22dc96acda0272661750277d62c5c11c5156fb3b --- libhwcomposer/hwc_uevents.cpp | 3 ++- libhwcomposer/hwc_uimirror.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libhwcomposer/hwc_uevents.cpp b/libhwcomposer/hwc_uevents.cpp index f58fbd3..1953c8a 100644 --- a/libhwcomposer/hwc_uevents.cpp +++ b/libhwcomposer/hwc_uevents.cpp @@ -79,10 +79,11 @@ static void handle_uevent(hwc_context_t* ctx, const char* udata, int len) int connected = 0; if(!(strncmp(str,"online@",strlen("online@")))) { connected = 1; + ctx->mExtDisplay->setExternalDisplay(connected); } else if(!(strncmp(str,"offline@",strlen("offline@")))) { connected = 0; + ctx->mExtDisplay->setExternalDisplay(connected); } - ctx->mExtDisplay->setExternalDisplay(connected); } } diff --git a/libhwcomposer/hwc_uimirror.cpp b/libhwcomposer/hwc_uimirror.cpp index d2b766d..fde69d0 100644 --- a/libhwcomposer/hwc_uimirror.cpp +++ b/libhwcomposer/hwc_uimirror.cpp @@ -160,6 +160,7 @@ bool UIMirrorOverlay::draw(hwc_context_t *ctx) while(m->fbPostDone == false) { pthread_cond_wait(&(m->fbPostCond), &(m->fbPostLock)); } + m->fbPostDone = false; pthread_mutex_unlock(&m->fbPostLock); switch (state) { case ovutils::OV_UI_MIRROR: