summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/io/qprocess.cpp8
-rw-r--r--src/corelib/io/qprocess.h7
-rw-r--r--src/corelib/io/qprocess_p.h3
-rw-r--r--src/corelib/io/qprocess_symbian.cpp6
4 files changed, 13 insertions, 11 deletions
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index a6a61dd..37161bc 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -97,6 +97,10 @@ QT_END_NAMESPACE
#include <private/qwineventnotifier_p.h>
#endif
+#ifdef Q_OS_SYMBIAN
+#include <e32std.h>
+#endif
+
#ifndef QT_NO_PROCESS
QT_BEGIN_NAMESPACE
@@ -412,7 +416,7 @@ void QProcessPrivate::Channel::clear()
}
/*! \fn bool QProcessPrivate::startDetached(const QString &program, const QStringList &arguments, const QString &workingDirectory, qint64 *pid)
-
+
\internal
*/
@@ -2238,7 +2242,7 @@ QProcessEnvironment QProcessEnvironment::systemEnvironment()
\relates QProcess
Typedef for the identifiers used to represent processes on the underlying
- platform. On Unix, this corresponds to \l qint64; on Windows, it
+ platform. On Unix and Symbian, this corresponds to \l qint64; on Windows, it
corresponds to \c{_PROCESS_INFORMATION*}.
\sa QProcess::pid()
diff --git a/src/corelib/io/qprocess.h b/src/corelib/io/qprocess.h
index 09a6fc8..ffcd5de 100644
--- a/src/corelib/io/qprocess.h
+++ b/src/corelib/io/qprocess.h
@@ -54,13 +54,8 @@ QT_MODULE(Core)
#ifndef QT_NO_PROCESS
-#if (!defined(Q_OS_WIN32) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN)) || defined(qdoc)
+#if (!defined(Q_OS_WIN32) && !defined(Q_OS_WINCE)) || defined(qdoc)
typedef qint64 Q_PID;
-#elif defined(Q_OS_SYMBIAN)
-QT_END_NAMESPACE
-# include <e32std.h>
-QT_BEGIN_NAMESPACE
-typedef TProcessId Q_PID;
#else
QT_END_NAMESPACE
typedef struct _PROCESS_INFORMATION *Q_PID;
diff --git a/src/corelib/io/qprocess_p.h b/src/corelib/io/qprocess_p.h
index 8092792..09be544 100644
--- a/src/corelib/io/qprocess_p.h
+++ b/src/corelib/io/qprocess_p.h
@@ -77,6 +77,9 @@ class QSocketNotifier;
class QWindowsPipeWriter;
class QWinEventNotifier;
class QTimer;
+#if defined(Q_OS_SYMBIAN)
+class RProcess;
+#endif
class QProcessEnvironmentPrivate: public QSharedData
{
diff --git a/src/corelib/io/qprocess_symbian.cpp b/src/corelib/io/qprocess_symbian.cpp
index f5de750..1f5117f 100644
--- a/src/corelib/io/qprocess_symbian.cpp
+++ b/src/corelib/io/qprocess_symbian.cpp
@@ -791,7 +791,7 @@ void QProcessPrivate::startProcess()
TInt err = qt_create_symbian_process(&symbianProcess, program, arguments);
if (err == KErrNone) {
- pid = symbianProcess->Id();
+ pid = symbianProcess->Id().Id();
::fcntl(deathPipe[0], F_SETFL, ::fcntl(deathPipe[0], F_GETFL) | O_NONBLOCK);
@@ -816,7 +816,7 @@ void QProcessPrivate::startProcess()
symbianProcess->Resume();
- QPROCESS_DEBUG_PRINT("QProcessPrivate::startProcess(): this: 0x%x, pid: %d", this, (TUint)pid);
+ QPROCESS_DEBUG_PRINT("QProcessPrivate::startProcess(): this: 0x%x, pid: %ld", this, pid);
// Notify child start
_q_startupNotification();
@@ -1021,7 +1021,7 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
if (err == KErrNone) {
if (pid)
- *pid = (qint64)newProc->Id();
+ *pid = newProc->Id().Id();
newProc->Resume();
newProc->Close();