| Trolltech Home | Qt4-preview-feedback Home | Recent Threads | All Threads | Author | Date | |
| All threads index page 1 | |
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
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
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
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.