From fd1b19b3b68ffcd00c1d6d0d105723e8e5b66150 Mon Sep 17 00:00:00 2001 From: Stuart Longland Date: Sat, 2 May 2015 21:09:29 +1000 Subject: [PATCH] QAmqpClient: Substitute static_cast for qobject_cast --- src/qamqpclient.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/qamqpclient.cpp b/src/qamqpclient.cpp index 432e5c7..d429c86 100644 --- a/src/qamqpclient.cpp +++ b/src/qamqpclient.cpp @@ -661,8 +661,11 @@ QAmqpExchange *QAmqpClient::createExchange(const QString &name, int channelNumbe { Q_D(QAmqpClient); QAmqpExchange *exchange; - if (d->exchanges.contains(name)) - return static_cast(d->exchanges.get(name)); + if (d->exchanges.contains(name)) { + exchange = qobject_cast(d->exchanges.get(name)); + if (exchange) + return exchange; + } exchange = new QAmqpExchange(channelNumber, this); d->methodHandlersByChannel[exchange->channelNumber()].append(exchange->d_func()); @@ -685,8 +688,11 @@ QAmqpQueue *QAmqpClient::createQueue(const QString &name, int channelNumber) { Q_D(QAmqpClient); QAmqpQueue *queue; - if (d->queues.contains(name)) - return static_cast(d->queues.get(name)); + if (d->queues.contains(name)) { + queue = qobject_cast(d->queues.get(name)); + if (queue) + return queue; + } queue = new QAmqpQueue(channelNumber, this); d->methodHandlersByChannel[queue->channelNumber()].append(queue->d_func());