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: