summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2014-12-30 13:34:03 +0100
committerSlávek Banko <slavek.banko@axis.cz>2014-12-30 13:34:03 +0100
commitde063e3e84da8a8077eba18720ef4754a99f9afd (patch)
tree1f799014b9a4c1f9da0982a60e11fe4061e651f9
parent69b527cb2e8dfc814c5baf051728d3d676f087f8 (diff)
downloadtdenetworkmanager-de063e3e84da8a8077eba18720ef4754a99f9afd.tar.gz
tdenetworkmanager-de063e3e84da8a8077eba18720ef4754a99f9afd.zip
Fix crash when a network interface is removed
This resolves Bug 2278 Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--tdenetworkmanager/src/tdenetman-tray.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/tdenetworkmanager/src/tdenetman-tray.cpp b/tdenetworkmanager/src/tdenetman-tray.cpp
index 6b19a12..533fa7e 100644
--- a/tdenetworkmanager/src/tdenetman-tray.cpp
+++ b/tdenetworkmanager/src/tdenetman-tray.cpp
@@ -447,14 +447,15 @@ void Tray::slotRemoveDeviceTrayComponent(TQString dev)
// remove the appropriate action
TDENetworkDevice* dev_comp_dev = dynamic_cast<TDENetworkDevice*>(hwdevices->findByUniqueID(dev_comp->device()));
- TQString actionName = TQString("new_connection_%1").arg(dev_comp_dev->deviceNode());
- TDEAction * deviceNewConnAction = actionCollection ()->action (actionName);
-
- if (!deviceNewConnAction)
- {
- delete deviceNewConnAction;
- deviceNewConnAction = NULL;
+ if (dev_comp_dev) {
+ TQString actionName = TQString("new_connection_%1").arg(dev_comp_dev->deviceNode());
+ TDEAction * deviceNewConnAction = actionCollection ()->action (actionName);
+ if (!deviceNewConnAction) {
+ delete deviceNewConnAction;
+ deviceNewConnAction = NULL;
+ }
}
+
// remove device_tray and delete it
d->trayComponents.remove(it);
delete dev_comp;