From 9dbb076f26146c98bcdcfee092aa910e0a84b206 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Wed, 21 Dec 2016 10:13:41 +0100 Subject: [PATCH] volumebar font reset after change (thx dboxoldie) to avoid segfault Signed-off-by: Thilo Graf picked from Duckbox-Developers/neutrino-mp-cst-next 4365761b2a47e12666154821c2ce982f74ef0627 needs supplements Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/1ea12764dae240b434d471ce8737b110cdcc244d Author: TangoCash Date: 2016-12-21 (Wed, 21 Dec 2016) --- src/gui/volumebar.cpp | 15 +++++++++++++++ src/gui/volumebar.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/gui/volumebar.cpp b/src/gui/volumebar.cpp index 52f4af4ed..22aaf6c3c 100644 --- a/src/gui/volumebar.cpp +++ b/src/gui/volumebar.cpp @@ -34,6 +34,7 @@ #include #include #include +#include using namespace std; @@ -260,9 +261,23 @@ CVolumeHelper::CVolumeHelper() frameBuffer = CFrameBuffer::getInstance(); + CNeutrinoApp::getInstance()->OnAfterSetupFonts.connect(sigc::mem_fun(this, &CVolumeHelper::resetFont)); + Init(); } +void CVolumeHelper::resetFont() +{ + if (vb_font){ + vb_font = NULL; + dprintf(DEBUG_INFO, "\033[33m[CVolumeHelper][%s - %d] reset vb font \033[0m\n", __func__, __LINE__); + } + if (clock_font){ + clock_font = NULL; + dprintf(DEBUG_INFO, "\033[33m[CVolumeHelper][%s - %d] reset clock font \033[0m\n", __func__, __LINE__); + } +} + void CVolumeHelper::Init(Font* font) { diff --git a/src/gui/volumebar.h b/src/gui/volumebar.h index 1f09a056b..62ce4d90c 100644 --- a/src/gui/volumebar.h +++ b/src/gui/volumebar.h @@ -108,6 +108,7 @@ class CVolumeHelper Font* clock_font; CFrameBuffer *frameBuffer; + void resetFont(); void Init(Font* font=NULL); void initVolBarSize(); void initMuteIcon();