diff --git a/src/gui/infoicons.cpp b/src/gui/infoicons.cpp index a8191b1d3..2024d1fdb 100644 --- a/src/gui/infoicons.cpp +++ b/src/gui/infoicons.cpp @@ -78,6 +78,7 @@ CInfoIcons::CInfoIcons() thrTimer = 0; status = false; + is_painted = false; Init(); } @@ -242,11 +243,16 @@ void CInfoIcons::paintIcons(bool first) startx += icon[i].sizeW; } } + is_painted = true; } void CInfoIcons::hideIcons() { - frameBuffer->paintBackgroundBoxRel(x, y, width + OFFSET_SHADOW, height + OFFSET_SHADOW); + if (is_painted) + { + frameBuffer->paintBackgroundBoxRel(x, y, width + OFFSET_SHADOW, height + OFFSET_SHADOW); + is_painted = false; + } } void* CInfoIcons::TimerProc(void *arg) diff --git a/src/gui/infoicons.h b/src/gui/infoicons.h index 849ea57c0..51311ac7f 100644 --- a/src/gui/infoicons.h +++ b/src/gui/infoicons.h @@ -48,7 +48,7 @@ class CInfoIcons pthread_t thrTimer; int x, y, width, height, offset; int start_i, m_entries, popup; - bool status; + bool status, is_painted; static void CleanUpProc(void* arg); static void* TimerProc(void *arg);