summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2020-04-25 20:17:34 +0900
committerMichele Calgaro <[email protected]>2020-04-25 20:17:34 +0900
commit097107791f765a2996939e25463f79afe27be207 (patch)
treeb3cb601caabe3871e0005779340f8873e17ec62f
parent63502d3ac497715af3379a88b2270b04192881ea (diff)
downloadtdedocker-097107791f765a2996939e25463f79afe27be207.tar.gz
tdedocker-097107791f765a2996939e25463f79afe27be207.zip
Make sure to ignore applications that can't be restored.
Signed-off-by: Michele Calgaro <[email protected]>
-rw-r--r--src/tqtraylabel.cpp4
-rw-r--r--src/traylabelmgr.cpp6
2 files changed, 9 insertions, 1 deletions
diff --git a/src/tqtraylabel.cpp b/src/tqtraylabel.cpp
index 4e0b717..925ffd2 100644
--- a/src/tqtraylabel.cpp
+++ b/src/tqtraylabel.cpp
@@ -1070,6 +1070,10 @@ bool TQTrayLabel::restoreState(TDEConfig *config)
dock();
scanClients(); // Grab window
+ if (mDockedWindow == None)
+ {
+ return false;
+ }
if (mWithdrawn)
{
withdraw();
diff --git a/src/traylabelmgr.cpp b/src/traylabelmgr.cpp
index 54b98bd..b011288 100644
--- a/src/traylabelmgr.cpp
+++ b/src/traylabelmgr.cpp
@@ -543,7 +543,11 @@ void TrayLabelMgr::doRestoreSession()
{
TRACE("Restoring Application[%s]", pname.ascii());
manageTrayLabel(new TQTrayLabel(TQStringList::split(" ", pname), 0));
- mTrayLabels.getFirst()->restoreState(config);
+ if (!mTrayLabels.getFirst()->restoreState(config))
+ {
+ // Failed to restore the application, remove the tray label
+ delete mTrayLabels.take(0);
+ }
}
}
}