widget_utils: only `setLCDOverlay` if present

Fixes #3830
master
Rob Pilling 2025-04-26 11:13:07 +01:00
parent f1c03e4e72
commit c11a322fc3
1 changed files with 13 additions and 11 deletions

View File

@ -30,7 +30,7 @@ exports.show = function() {
/// Remove anything not needed if the overlay was removed /// Remove anything not needed if the overlay was removed
exports.cleanupOverlay = function() { exports.cleanupOverlay = function() {
exports.offset = -24; exports.offset = -24;
Bangle.setLCDOverlay(undefined, {id: "widget_utils"}); Bangle.setLCDOverlay && Bangle.setLCDOverlay(undefined, {id: "widget_utils"});
delete exports.autohide; delete exports.autohide;
delete Bangle.appRect; delete Bangle.appRect;
if (exports.animInterval) { if (exports.animInterval) {
@ -92,6 +92,7 @@ exports.swipeOn = function(autohide) {
const o = exports.offset; const o = exports.offset;
Bangle.appRect.y = o+24; Bangle.appRect.y = o+24;
Bangle.appRect.h = 1 + Bangle.appRect.y2 - Bangle.appRect.y; Bangle.appRect.h = 1 + Bangle.appRect.y2 - Bangle.appRect.y;
if (Bangle.setLCDOverlay) {
if (o>-24) { if (o>-24) {
Bangle.setLCDOverlay(og, 0, o, { Bangle.setLCDOverlay(og, 0, o, {
id:"widget_utils", id:"widget_utils",
@ -103,6 +104,7 @@ exports.swipeOn = function(autohide) {
Bangle.setLCDOverlay(undefined, {id: "widget_utils"}); Bangle.setLCDOverlay(undefined, {id: "widget_utils"});
} }
} }
}
for (var w of global.WIDGETS) if (!w._draw) { // already hidden for (var w of global.WIDGETS) if (!w._draw) { // already hidden
w._draw = w.draw; w._draw = w.draw;