summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tdeioslave/file/file.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/tdeioslave/file/file.cc b/tdeioslave/file/file.cc
index 45c482620..c445230e6 100644
--- a/tdeioslave/file/file.cc
+++ b/tdeioslave/file/file.cc
@@ -1644,11 +1644,16 @@ void FileProtocol::unmount( const TQString& _point )
if (!udi.isEmpty())
reply = d.call("unmount", udi);
-
+
if (udi.isEmpty() || !reply.isValid())
- err = olderr;
- else if (reply.isValid())
- reply.get(err);
+ err = olderr;
+ else if (reply.isValid()) {
+ TQStringVariantMap unmountResult;
+ reply.get(unmountResult);
+ if (!unmountResult.contains("result") || !unmountResult["result"].toBool()) {
+ err = unmountResult.contains("errStr") ? unmountResult["errStr"].toString() : i18n("Unknown unmount error.");
+ }
+ }
}
if ( err.isEmpty() )