Merge "Fix HDMI unblank behavior" into jb-mr1-dev
This commit is contained in:
commit
f0c89b28be
@ -696,6 +696,7 @@ void HWComposer::disconnectDisplay(int disp) {
|
||||
free(dd.list);
|
||||
dd.list = NULL;
|
||||
dd.framebufferTarget = NULL; // points into dd.list
|
||||
dd.fbTargetHandle = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -772,8 +772,7 @@ void SurfaceFlinger::onHotplugReceived(int type, bool connected) {
|
||||
}
|
||||
setTransactionFlags(eDisplayTransactionNeeded);
|
||||
|
||||
// we should only receive DisplayDevice::DisplayType from the vsync callback
|
||||
mEventThread->onHotplugReceived(type, connected);
|
||||
// Defer EventThread notification until SF has updated mDisplays.
|
||||
}
|
||||
}
|
||||
|
||||
@ -1130,6 +1129,7 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags)
|
||||
DisplayDevice::makeCurrent(mEGLDisplay, hw, mEGLContext);
|
||||
mDisplays.removeItem(draw.keyAt(i));
|
||||
getHwComposer().disconnectDisplay(draw[i].type);
|
||||
mEventThread->onHotplugReceived(draw[i].type, false);
|
||||
} else {
|
||||
ALOGW("trying to remove the main display");
|
||||
}
|
||||
@ -1212,6 +1212,7 @@ void SurfaceFlinger::handleTransactionLocked(uint32_t transactionFlags)
|
||||
state.viewport, state.frame);
|
||||
hw->setDisplayName(state.displayName);
|
||||
mDisplays.add(display, hw);
|
||||
mEventThread->onHotplugReceived(state.type, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user