Trolltech Home | Qt4-preview-feedback Home | Recent Threads | All Threads | Author | Date
All threads index page 1

Qt4-preview-feedback Archive, February 2008
QThreadPool problem?


Message 1 in thread

Is it expected to get the warning "QWaitCondition: Destroyed while 
threads are still waiting" at exit when using QThreadPool?  Or does this 
actually indicate I'm doing something wrong?

To unsubscribe - send "unsubscribe" in the subject to qt4-preview-feedback-request@xxxxxxxxxxxxx


Message 2 in thread

FYI, This code crashes now:

    QDockWidget* dockWidget = new QDockWidget ("Palette");    [I was actually using a derived class here.]
    dockWidget->setFloating(bFloating);



Because, inside:

void QDockWidget::setFloating(bool floating)
{
    ...
    d->setWindowState(floating, false, floating ? r : QRect());
    ...
}


And, inside: 
void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect &rect)
{
    ...
    if (floating != wasFloating) {
        emit q->topLevelChanged(floating);
        if (!floating) {
            QMainWindowLayout *mwlayout = qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout());  <<<<<<THERE IS NO PARENT.
            Q_ASSERT(mwlayout);
            emit q->dockLocationChanged(mwlayout->dockWidgetArea(q));
        }
    }
    ...
}

Notice the use of parent widget.  We don't need to update the parent layout if there isn't a parent.

Rob

To unsubscribe - send "unsubscribe" in the subject to qt4-preview-feedback-request@xxxxxxxxxxxxx


Message 3 in thread

I'm not sure if this is a new problem, but QFileDialog will assert frequently when navigating directories:

The line "m->indices.append(indices[i]);" inside QUnsortedModelEngine::buildIndices fails because m->v is false.  m was constructed in QUnsortedModelEngine::filterOnDemand using the constructor that sets v to false.


By the way, if this is the wrong list to send all of these to, please let me know.

Stack trace:

	QtCored4.dll!qt_message_output(QtMsgType msgType=QtFatalMsg, const char * buf=0x01c345ac)  Line 2021	C++
 	QtCored4.dll!qFatal(const char * msg=0x6721a24c, ...)  Line 2227	C++
 	QtCored4.dll!qt_assert(const char * assertion=0x65862a40, const char * file=0x65862a48, int line=95)  Line 1799	C++
 	QtGuid4.dll!QIndexMapper::append(int x=3)  Line 95	C++
 	QtGuid4.dll!QUnsortedModelEngine::buildIndices(const QString & str={...}, const QModelIndex & parent={...}, int n=2147483647, const QIndexMapper & indices={...}, QMatchData * m=0x094e1cb4)  Line 688	C++
>	QtGuid4.dll!QUnsortedModelEngine::filterOnDemand(int n=2147483647)  Line 707	C++
 	QtGuid4.dll!QCompletionModel::completionCount()  Line 321	C++
 	QtGuid4.dll!QCompletionModel::rowCount(const QModelIndex & parent={...})  Line 339	C++
 	QtGuid4.dll!QCompletionModel::resetModel()  Line 400	C++
 	QtGuid4.dll!QCompletionModel::filter(const QStringList & parts={...})  Line 394	C++
 	QtGuid4.dll!QCompleter::setCompletionPrefix(const QString & prefix={...})  Line 1511	C++
 	QtGuid4.dll!QFileDialog::setDirectory(const QString & directory={...})  Line 511	C++
 	QtGuid4.dll!QFileDialogPrivate::_q_enterDirectory(const QModelIndex & index={...})  Line 2442	C++
 	QtGuid4.dll!QFileDialog::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=17, void * * _a=0x01c36948)  Line 162	C++
 	QtCored4.dll!QMetaObject::activate(QObject * sender=0x08cfafb0, int from_signal_index=34, int to_signal_index=34, void * * argv=0x01c36948)  Line 2973	C++
 	QtCored4.dll!QMetaObject::activate(QObject * sender=0x08cfafb0, const QMetaObject * m=0x658517d8, int local_signal_index=3, void * * argv=0x01c36948)  Line 3043	C++
 	QtGuid4.dll!QAbstractItemView::activated(const QModelIndex & _t1={...})  Line 327	C++
 	QtGuid4.dll!QAbstractItemView::mouseDoubleClickEvent(QMouseEvent * event=0x01c37294)  Line 1615	C++
 	QtGuid4.dll!QWidget::event(QEvent * event=0x01c37294)  Line 6833	C++
 	QtGuid4.dll!QFrame::event(QEvent * e=0x01c37294)  Line 636	C++
 	QtGuid4.dll!QAbstractScrollArea::viewportEvent(QEvent * e=0x01c37294)  Line 916	C++
 	QtGuid4.dll!QAbstractItemView::viewportEvent(QEvent * event=0x01c37294)  Line 1402	C++
 	QtGuid4.dll!QAbstractScrollAreaPrivate::viewportEvent(QEvent * event=0x01c37294)  Line 80	C++
 	QtGuid4.dll!QAbstractScrollAreaFilter::eventFilter(QObject * o=0x092146f0, QEvent * e=0x01c37294)  Line 91	C++
 	QtCored4.dll!QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject * receiver=0x092146f0, QEvent * event=0x01c37294)  Line 671	C++
 	QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x092146f0, QEvent * e=0x01c37294)  Line 3709	C++
 	QtGuid4.dll!QApplication::notify(QObject * receiver=0x092146f0, QEvent * e=0x01c37294)  Line 3442	C++
 	QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x092146f0, QEvent * event=0x01c37294)  Line 564	C++
 	QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver=0x092146f0, QEvent * event=0x01c37294)  Line 196	C++
 	QtGuid4.dll!QApplicationPrivate::sendMouseEvent(QWidget * receiver=0x092146f0, QMouseEvent * event=0x01c37294, QWidget * alienWidget=0x092146f0, QWidget * nativeWidget=0x01c3af94, QWidget * * buttonDown=0x65a3c5a0, QPointer<QWidget> & lastMouseReceiver={...})  Line 2707	C++
 	QtGuid4.dll!QETWidget::translateMouseEvent(const tagMSG & msg={...})  Line 3068	C++
 	QtGuid4.dll!QtWndProc(HWND__ * hwnd=0x001e048e, unsigned int message=515, unsigned int wParam=1, long lParam=6291606)  Line 1540	C++
 	user32.dll!_InternalCallWinProc@20() 	
 	user32.dll!_UserCallWinProcCheckWow@32() 	
 	user32.dll!_DispatchMessageWorker@8() 	
 	user32.dll!_DispatchMessageW@4() 	
 	QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 721	C++
 	QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 1067	C++
 	QtCored4.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 125	C++
 	QtCored4.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 175	C++
 	QtGuid4.dll!QDialog::exec()  Line 432	C++

To unsubscribe - send "unsubscribe" in the subject to qt4-preview-feedback-request@xxxxxxxxxxxxx


Message 4 in thread

Caedmon Irias wrote:
>Is it expected to get the warning "QWaitCondition: Destroyed while
>threads are still waiting" at exit when using QThreadPool?  Or does this
>actually indicate I'm doing something wrong?

You're not supposed to get warnings in code that is properly written.

Please post your code so we can figure out if you're doing something wrong 
or if there's a bug we have to fix.

-- 
 [ signature omitted ] 

Attachment: signature.asc
Description: This is a digitally signed message part.