Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-54396

[WinRT]: Handle background tasks correctly that potentially surpress the UI

    XMLWordPrintable

Details

    • WinRT
    • 753aed83c6568d3a6e3b7c653ed5782bf93cd214

    Description

      There is a case where just QtCore + QtNetwork is used which means it will crash when the application gets opened from the background:

      Qt5Cored.dll!QEventDispatcherWinRT::runOnXamlThread(const std::function<long __cdecl(void)> & delegate, bool waitForRun) Line 182 C++ 
      Qt5Cored.dll!QEventDispatcherWinRT::registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject * object) Line 302 C++ 
      Qt5Cored.dll!QAbstractEventDispatcher::registerTimer(int interval, Qt::TimerType timerType, QObject * object) Line 254 C++ 
      Qt5Cored.dll!QObject::startTimer(int interval, Qt::TimerType timerType) Line 1639 C++ 
      Qt5Cored.dll!QTimer::start() Line 203 C++ 
      Qt5Cored.dll!QTimer::start(int msec) Line 220 C++ 
      Qt5Networkd.dll!QAbstractSocketPrivate::_q_connectToNextAddress() Line 1160 C++ 
      Qt5Networkd.dll!QAbstractSocketPrivate::_q_startConnecting(const QHostInfo & hostInfo) Line 1070 C++ 
      Qt5Networkd.dll!QAbstractSocket::connectToHost(const QString & hostName, unsigned short port, QFlags<enum QIODevice::OpenModeFlag> openMode, QAbstractSocket::NetworkLayerProtocol protocol) Line 1696 C++ 
      Qt5Networkd.dll!QSslSocket::connectToHost(const QString & hostName, unsigned short port, QFlags<enum QIODevice::OpenModeFlag> openMode, QAbstractSocket::NetworkLayerProtocol protocol) Line 1919 C++ 
      Qt5Networkd.dll!QSslSocket::connectToHostEncrypted(const QString & hostName, unsigned short port, QFlags<enum QIODevice::OpenModeFlag> mode, QAbstractSocket::NetworkLayerProtocol protocol) Line 444 C++ 
      Qt5Networkd.dll!QHttpNetworkConnectionChannel::ensureConnection() Line 362 C++ 
      Qt5Networkd.dll!QHttpNetworkConnectionPrivate::_q_startNextRequest() Line 1072 C++ 
      Qt5Networkd.dll!QHttpNetworkConnection::qt_static_metacall(QObject * _o, QMetaObject::Call _c, int _id, void * * _a) Line 78 C++ 
      Qt5Cored.dll!QMetaCallEvent::placeMetaCall(QObject * object) Line 496 C++ 
      Qt5Cored.dll!QObject::event(QEvent * e) Line 1257 C++ 
      Qt5Cored.dll!QCoreApplicationPrivate::notify_helper(QObject * receiver, QEvent * event) Line 1149 C++ 
      Qt5Cored.dll!doNotify(QObject * receiver, QEvent * event) Line 1090 C++ 
      Qt5Cored.dll!QCoreApplication::notify(QObject * receiver, QEvent * event) Line 1076 C++ 
      Qt5Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1015 C++ 
      Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 227 C++ 
      Qt5Cored.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver, int event_type, QThreadData * data) Line 1655 C++ 
      Qt5Cored.dll!QCoreApplication::sendPostedEvents(QObject * receiver, int event_type) Line 1509 C++ 
      Qt5Cored.dll!QEventDispatcherWinRT::sendPostedEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 252 C++ 
      Qt5Cored.dll!QEventDispatcherWinRT::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 208 C++ 
      Qt5Cored.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 128 C++ 
      Qt5Cored.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 204 C++ 
      Qt5Cored.dll!QThread::exec() Line 503 C++ 
      > Qt5Cored.dll!QThread::run() Line 571 C++
      

      Attachments

        For Gerrit Dashboard: QTBUG-54396
        # Subject Branch Project Status CR V

        Activity

          People

            mkalinow Maurice Kalinowski
            andysh Andy Shaw
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes