summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qfsfileengine.cpp
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@accenture.com>2010-09-08 14:15:45 (GMT)
committerShane Kearns <shane.kearns@accenture.com>2010-09-08 14:42:21 (GMT)
commite4de050cc8e819a2751f94ac0429a0d7fe64e64a (patch)
treefb5f5d12c8e880668776c28ae3b8a87b99113254 /src/corelib/io/qfsfileengine.cpp
parentf906303e7aa9a7b68f469d81e6bdac8499120338 (diff)
downloadQt-e4de050cc8e819a2751f94ac0429a0d7fe64e64a.zip
Qt-e4de050cc8e819a2751f94ac0429a0d7fe64e64a.tar.gz
Qt-e4de050cc8e819a2751f94ac0429a0d7fe64e64a.tar.bz2
Enable symbian IO code in the build
This patch contains several changes that needed to be done atomically. The native file path im QFileSystemEntry is changed from 8 bit to 16 bit character set. QFsFileEngine has some new symbian specific code (as the unix code does not compile with the above change), and forwards more calls to the new QFileSystemEngine. Unix implementations of link, rename and remove are moved to the unix version of this class, so less ifdef'ing is needed. Finally, io.pri now selects the _symbian.cpp source files instead of the _unix.cpp equivalents when building for symbian.
Diffstat (limited to 'src/corelib/io/qfsfileengine.cpp')
-rw-r--r--src/corelib/io/qfsfileengine.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp
index 1b0a28c..089f1a1 100644
--- a/src/corelib/io/qfsfileengine.cpp
+++ b/src/corelib/io/qfsfileengine.cpp
@@ -364,6 +364,12 @@ bool QFSFileEnginePrivate::closeFdFh()
if (closeFileHandle) {
int ret;
do {
+#ifdef Q_OS_SYMBIAN
+ if (symbianFile.SubSessionHandle()) {
+ symbianFile.Close();
+ ret = 0;
+ } else
+#endif
if (fh) {
// Close buffered file.
ret = fclose(fh) != 0 ? -1 : 0;