From 0d6f18e86709ff4cbd0521a670fd74f3d346f63d Mon Sep 17 00:00:00 2001 From: Sanel Zukan Date: Thu, 6 Jun 2013 09:44:50 +0000 Subject: [PATCH] Do not exit from read_config() even if reading file fails; edelib::Config class will simply use fallback values instead. --- ede-panel/Panel.cpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/ede-panel/Panel.cpp b/ede-panel/Panel.cpp index 1559516..bd0273f 100644 --- a/ede-panel/Panel.cpp +++ b/ede-panel/Panel.cpp @@ -240,14 +240,7 @@ Panel::Panel() : PanelWindow(300, 30, "ede-panel") { void Panel::read_config(void) { Resource r; - - /* try to load applets even if panel configuration isn't present */ - if(E_UNLIKELY(r.load("ede-panel") == false)) { - load_applets(); - hider = new Hider(); - add(hider); - return; - } + r.load("ede-panel"); int tmp; if(r.get("Panel", "position", tmp, PANEL_POSITION_BOTTOM)) { @@ -266,8 +259,15 @@ void Panel::read_config(void) { /* small button on the right edge for panel sliding */ r.get("Panel", "hider", tmp, 1); if(tmp) { - hider = new Hider(); - add(hider); + if(!hider) { + hider = new Hider(); + add(hider); + } + + /* in case was hidden before */ + hider->show(); + } else { + if(hider) hider->hide(); } char buf[128]; @@ -541,6 +541,8 @@ int Panel::handle(int e) { } void Panel::load_applets(const char *applets) { + mgr.clear(this); + /* * Hardcoded order, unless configuration file was found. For easier and uniform parsing * (similar string is expected from configuration), fallback is plain string.