diff --git a/radio/src/thirdparty/libopenui/src/expansion_panel.h b/radio/src/thirdparty/libopenui/src/expansion_panel.h index d44e798a5..b624996c7 100644 --- a/radio/src/thirdparty/libopenui/src/expansion_panel.h +++ b/radio/src/thirdparty/libopenui/src/expansion_panel.h @@ -26,7 +26,7 @@ class ExpansionPanel; class ExpansionPanelHeader: virtual public FormGroup { public: - ExpansionPanelHeader(ExpansionPanel * parent); + explicit ExpansionPanelHeader(ExpansionPanel * parent); void onEvent(event_t event) override; @@ -92,7 +92,7 @@ bool ExpansionPanelHeader::onTouchEnd(coord_t, coord_t) void ExpansionPanelHeader::onEvent(event_t event) { - ExpansionPanel * panel = static_cast(parent); + auto panel = static_cast(parent); if (event == EVT_KEY_BREAK(KEY_ENTER)) { panel->toggle(); diff --git a/radio/src/thirdparty/libopenui/src/window.h b/radio/src/thirdparty/libopenui/src/window.h index 3b1a72f98..f4e4d7202 100644 --- a/radio/src/thirdparty/libopenui/src/window.h +++ b/radio/src/thirdparty/libopenui/src/window.h @@ -269,7 +269,12 @@ class Window { { innerHeight = h; if (height() >= h) { - scrollPositionY = 0; + setScrollPositionY(0); + } + else { + coord_t maxScrollPosition = h - height(); + if (scrollPositionY > maxScrollPosition) + setScrollPositionY(maxScrollPosition); } }