surfaceflinger: initialize ActiveConfigInfo fields.
Previously, the two ActiveConfigInfo fields in SurfaceFlinger are
uninitialized upon construction, and when run with debugging code that
slows down open, we reliably hit a case where setRefreshRateType is
called on an uninitialized RefreshRateType, leading to explosion.
Test: booted with libfdtrack
Change-Id: I14520775f8660fee6545d8a354a04ed3674a1597
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index 8049b61..5b1abec 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -509,9 +509,9 @@
using RefreshRateType = scheduler::RefreshRateConfigs::RefreshRateType;
struct ActiveConfigInfo {
- RefreshRateType type;
- int configId;
- Scheduler::ConfigEvent event;
+ RefreshRateType type = RefreshRateType::DEFAULT;
+ int configId = 0;
+ Scheduler::ConfigEvent event = Scheduler::ConfigEvent::None;
bool operator!=(const ActiveConfigInfo& other) const {
return type != other.type || configId != other.configId || event != other.event;