screen_ui: Call gr_exit() from dtor.
ScreenRecoveryUI calls gr_init() during Init(), and should release any
allocated resource upon destructing. It's a no-op to call gr_exit() if
gr_init() was not called or didn't finish successfully.
Test: recovery_unit_test on marlin.
Test: Boot into recovery. Run graphics test.
Change-Id: Ib9632170174cdacd51d382f23c8daf6a9bc59f7a
diff --git a/screen_ui.cpp b/screen_ui.cpp
index b4ef054..e8444b6 100644
--- a/screen_ui.cpp
+++ b/screen_ui.cpp
@@ -176,6 +176,8 @@
if (progress_thread_.joinable()) {
progress_thread_.join();
}
+ // No-op if gr_init() (via Init()) was not called or had failed.
+ gr_exit();
}
GRSurface* ScreenRecoveryUI::GetCurrentFrame() const {