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,15 +92,17 @@ 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 (o>-24) { if (Bangle.setLCDOverlay) {
Bangle.setLCDOverlay(og, 0, o, { if (o>-24) {
id:"widget_utils", Bangle.setLCDOverlay(og, 0, o, {
remove:()=>{ id:"widget_utils",
require("widget_utils").cleanupOverlay(); remove:()=>{
} require("widget_utils").cleanupOverlay();
}); }
} else { });
Bangle.setLCDOverlay(undefined, {id: "widget_utils"}); } else {
Bangle.setLCDOverlay(undefined, {id: "widget_utils"});
}
} }
} }
@ -161,4 +163,4 @@ exports.swipeOn = function(autohide) {
}; };
Bangle.on("swipe", exports.swipeHandler); Bangle.on("swipe", exports.swipeHandler);
Bangle.drawWidgets(); Bangle.drawWidgets();
}; };