From cc03b109287f4c818a4d6df09cbfa48784e1e4a6 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 12 Sep 2018 19:29:24 +0300 Subject: Popup: fix for drawing clock borders for the missing clock --- plugins/Popup/src/skin.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'plugins') diff --git a/plugins/Popup/src/skin.cpp b/plugins/Popup/src/skin.cpp index 34ef0665df..0ccfdca254 100644 --- a/plugins/Popup/src/skin.cpp +++ b/plugins/Popup/src/skin.cpp @@ -331,14 +331,20 @@ void PopupSkin::measure(HDC hdc, PopupWnd2 *wnd, int maxw, POPUPOPTIONS *options case ST_CLOCK: if (head && head->myBmp) { - szNew.cx = head->clocksize[CLOCK_LEFT] + head->clocksize[CLOCK_RIGHT]; - szNew.cy = head->myBmp->getHeight(); - for (wchar_t *p = wnd->getTime(); *p; p++) { - if (*p == ':') - szNew.cx += head->clocksize[CLOCK_SEPARATOR]; - else if ((*p >= '0') && (*p <= '9')) - szNew.cx += head->clocksize[CLOCK_DIGITS + *p - '0']; + wchar_t *p = wnd->getTime(); + if (*p != 0) { + szNew.cx = head->clocksize[CLOCK_LEFT] + head->clocksize[CLOCK_RIGHT]; + szNew.cy = head->myBmp->getHeight(); + while (*p) { + if (*p == ':') + szNew.cx += head->clocksize[CLOCK_SEPARATOR]; + else if ((*p >= '0') && (*p <= '9')) + szNew.cx += head->clocksize[CLOCK_DIGITS + *p - '0']; + p++; + } } + else szNew.cx = szNew.cy = 0; + wnd->getArgs()->add("clock.width", szNew.cx); wnd->getArgs()->add("clock.height", szNew.cy); } -- cgit v1.2.3