summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorBernd Weimer <bweimer@blackberry.com>2013-04-02 16:54:29 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-03 09:25:22 +0200
commitd20851f8ecd044479dd1892e92937a9135aa7856 (patch)
treefaaf3f20ce2d97a9b9bc608e634291c26c66fe71 /src/corelib/kernel
parent01b4b7f917c615653d36af7e132986ccb00c6522 (diff)
Avoid socket notifiers on invalid file descriptors
There is potential trouble and no point in registering a QSocketNotifier on an invalid file descriptor. This is prevented now in addition to the existing warning. Change-Id: I6fc3c639b167ea98d09a2738986360cc4b3fc210 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qsocketnotifier.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/corelib/kernel/qsocketnotifier.cpp b/src/corelib/kernel/qsocketnotifier.cpp
index e0c7f171c3..6c88ed4531 100644
--- a/src/corelib/kernel/qsocketnotifier.cpp
+++ b/src/corelib/kernel/qsocketnotifier.cpp
@@ -181,17 +181,16 @@ QSocketNotifier::QSocketNotifier(qintptr socket, Type type, QObject *parent)
: QObject(*new QSocketNotifierPrivate, parent)
{
Q_D(QSocketNotifier);
- if (socket < 0)
- qWarning("QSocketNotifier: Invalid socket specified");
d->sockfd = socket;
d->sntype = type;
d->snenabled = true;
- if (!d->threadData->eventDispatcher.load()) {
+ if (socket < 0)
+ qWarning("QSocketNotifier: Invalid socket specified");
+ else if (!d->threadData->eventDispatcher.load())
qWarning("QSocketNotifier: Can only be used with threads started with QThread");
- } else {
+ else
d->threadData->eventDispatcher.load()->registerSocketNotifier(this);
- }
}
/*!