Merge "graphics: hwc2on1adapter: Buffer hotplug event after display creation"

This commit is contained in:
Treehugger Robot
2019-12-12 18:28:05 +00:00
committed by Gerrit Code Review

View File

@@ -2590,13 +2590,6 @@ void HWC2On1Adapter::hwc1Hotplug(int hwc1DisplayId, int connected) {
std::unique_lock<std::recursive_timed_mutex> lock(mStateMutex);
// If the HWC2-side callback hasn't been registered yet, buffer this until
// it is registered
if (mCallbacks.count(Callback::Hotplug) == 0) {
mPendingHotplugs.emplace_back(hwc1DisplayId, connected);
return;
}
hwc2_display_t displayId = UINT64_MAX;
if (mHwc1DisplayMap.count(hwc1DisplayId) == 0) {
if (connected == 0) {
@@ -2625,6 +2618,13 @@ void HWC2On1Adapter::hwc1Hotplug(int hwc1DisplayId, int connected) {
mDisplays.erase(displayId);
}
// If the HWC2-side callback hasn't been registered yet, buffer this until
// it is registered
if (mCallbacks.count(Callback::Hotplug) == 0) {
mPendingHotplugs.emplace_back(hwc1DisplayId, connected);
return;
}
const auto& callbackInfo = mCallbacks[Callback::Hotplug];
// Call back without the state lock held