From 949ea0868de1df7e2f28a32d777cc41f901d6770 Mon Sep 17 00:00:00 2001 From: Naseer Ahmed Date: Wed, 20 Aug 2014 16:31:58 -0400 Subject: [PATCH] sf: Clear display configs when hot pluggable display is disconnected Display configs for external displays are stored in the framework everytime we receive a hot plug to connect. However, since the configs are not cleared on disconnect, framework will just assume that the configs are valid. This does not work for use cases when you connect/disconnect external displays with different resolutions. e.g. 1080p to 4K and vice-versa With this change we clear the display configs and repopulate when we receive a hot plug to connect. Change-Id: I2eeab186a8d8668a53390a2413b2ce5e044a1845 Acked-by: Tatenda Chipeperekwa --- services/surfaceflinger/DisplayHardware/HWComposer.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp index 53409d106..bd07d24b4 100644 --- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp +++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp @@ -799,6 +799,9 @@ void HWComposer::disconnectDisplay(int disp) { dd.lastRetireFence = Fence::NO_FENCE; dd.lastDisplayFence = Fence::NO_FENCE; dd.outbufAcquireFence = Fence::NO_FENCE; + // clear all the previous configs and repopulate when a new + // device is added + dd.configs.clear(); } int HWComposer::getVisualID() const {