From 4f17ed02d6bc2f25225c27029decfadc0432c319 Mon Sep 17 00:00:00 2001 From: Richard de Boer Date: Mon, 18 Apr 2022 16:26:01 +0200 Subject: [PATCH] widcal: fix memory leak Repeated redrawing would create multiple redraw-timeouts --- apps/widcal/ChangeLog | 3 ++- apps/widcal/metadata.json | 2 +- apps/widcal/widget.js | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/widcal/ChangeLog b/apps/widcal/ChangeLog index a4bc24d1a..07b8f7424 100644 --- a/apps/widcal/ChangeLog +++ b/apps/widcal/ChangeLog @@ -1 +1,2 @@ -0.01: First version \ No newline at end of file +0.01: First version +0.02: Fix memory leak \ No newline at end of file diff --git a/apps/widcal/metadata.json b/apps/widcal/metadata.json index 74ab6d488..fc7d6dd1d 100644 --- a/apps/widcal/metadata.json +++ b/apps/widcal/metadata.json @@ -1,7 +1,7 @@ { "id": "widcal", "name": "Calendar Widget", - "version": "0.01", + "version": "0.02", "description": "Widget with the current date", "icon": "widget.png", "type": "widget", diff --git a/apps/widcal/widget.js b/apps/widcal/widget.js index 4214d280a..d4a4676a7 100644 --- a/apps/widcal/widget.js +++ b/apps/widcal/widget.js @@ -24,7 +24,8 @@ ]); } // redraw when date changes - setTimeout(()=>WIDGETS["cal"].draw(), (86401 - Math.floor(date/1000) % 86400)*1000); + if (WIDGETS["cal"].to) clearTimeout(WIDGETS["cal"].to); + WIDGETS["cal"].to = setTimeout(()=>WIDGETS["cal"].draw(), (86401 - Math.floor(date/1000) % 86400)*1000); } }; })();