PDA

View Full Version : QSortFilterProxyModel crash only when showing view from QDialog based class



JPNaude
20th February 2012, 05:39
Hi all,

I've been getting a strange crash in some very specific situations. I have a widget which shows a QTreeView with my own tree view model and my own QSortFilterProxyModel based class.

It works fine in everywhere in the app, except when I show it from a QDialog based class. I honestly can't figure it out after lots of debugging.

The crash happens as soon as you show the view (line 55 in the stack trace), and this is the stack trace:



0 ZNK27QGraphicsSceneDragDropEvent6d_funcEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x696f3277
1 ZNK21QSortFilterProxyModel6parentERK11QModelIndex D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x694c7063
2 ZNK11QMessageBox6d_funcEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x696dec6e
3 ZNK9QTreeView16indexRowSizeHintERK11QModelIndex D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x6948cc48
4 ZNK9QTreeView13isIndexHiddenERK11QModelIndex D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x6948ef19
5 ZNK9QTreeView13isIndexHiddenERK11QModelIndex D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x6948fa6c
6 ZN9QTreeView16updateGeometriesEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x6948c785
7 ZN17QAbstractItemView11resizeEventEP12QResizeEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x69455c68
8 ZN7QWidget5eventEP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb72a3
9 ZN6QFrame5eventEP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x6933a9d8
10 ZN19QAbstractScrollArea13viewportEventEP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x693c8617
11 ZN17QAbstractItemView13viewportEventEP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x69451fc5
12 ZN9QTreeView13viewportEventEP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x694862fb
13 ZN26QAbstractScrollAreaPrivate13viewportEventEP6QE vent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x69621e87
14 ZN24QStyleOptionGraphicsItemC1ERKS_ D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x6962024c
15 ZN23QCoreApplicationPrivate29sendThroughObjectEven tFiltersEP7QObjectP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtCored4 .dll 0 0x6a2018fb
16 ZN19QApplicationPrivate13notify_helperEP7QObjectP6 QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68f6bd67
17 ZN12QApplication6notifyEP7QObjectP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68f6bc08
18 ZN16QCoreApplication14notifyInternalEP7QObjectP6QE vent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtCored4 .dll 0 0x6a201664
19 ZN16QAccessibleEvent8setValueERK7QString D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x695e81d6
20 ZN14QWidgetPrivate30sendPendingMoveAndResizeEvents Ebb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4b7e
21 ZN14QWidgetPrivate11show_helperEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4de5
22 ZN7QWidget10setVisibleEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5865
23 ZN7QWidget4showEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x696d43bc
24 ZN14QWidgetPrivate12showChildrenEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5d40
25 ZN14QWidgetPrivate11show_helperEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4e13
26 ZN14QWidgetPrivate14show_recursiveEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb49fb
27 ZN14QWidgetPrivate12showChildrenEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5d33
28 ZN14QWidgetPrivate11show_helperEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4e13
29 ZN14QWidgetPrivate14show_recursiveEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb49fb
30 ZN14QWidgetPrivate12showChildrenEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5d33
31 ZN14QWidgetPrivate11show_helperEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4e13
32 ZN7QWidget10setVisibleEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5865
33 ZN7QWidget4showEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x696d43bc
34 ZN14QWidgetPrivate12showChildrenEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5d40
35 ZN14QWidgetPrivate11show_helperEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4e13
36 ZN14QWidgetPrivate14show_recursiveEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb49fb
37 ZN14QWidgetPrivate12showChildrenEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5d33
38 ZN14QWidgetPrivate11show_helperEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4e13
39 ZN7QWidget10setVisibleEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5865
40 ZN7QWidget4showEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x696d43bc
41 ZN14QWidgetPrivate12showChildrenEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5d40
42 ZN14QWidgetPrivate11show_helperEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4e13
43 ZN14QWidgetPrivate14show_recursiveEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb49fb
44 ZN14QWidgetPrivate12showChildrenEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5d33
45 ZN14QWidgetPrivate11show_helperEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4e13
46 ZN7QWidget10setVisibleEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5865
47 ZN7QWidget4showEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x696d43bc
48 ZN14QWidgetPrivate12showChildrenEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5d40
49 ZN14QWidgetPrivate11show_helperEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4e13
50 ZN7QWidget10setVisibleEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5865
51 ZN7QWidget4showEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x696d43bc
52 ZN14QWidgetPrivate12showChildrenEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5d40
53 ZN14QWidgetPrivate11show_helperEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb4e13
54 ZN7QWidget10setVisibleEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb5865
55 QWidget::show qwidget.h 487 0x63d35034
56 DesignCore::DesignMergeWidget::on_btnPreview_click ed DesignMergeWidget.cpp 448 0x63cac80d
57 DesignCore::DesignMergeWidget::qt_metacall moc_DesignMergeWidget.cpp 101 0x63cc059a
58 ZN11QMetaObject8metacallEP7QObjectNS_4CallEiPPv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtCored4 .dll 0 0x6a20611c
59 ZN11QMetaObject8activateEP7QObjectPKS_iPPv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtCored4 .dll 0 0x6a216ab8
60 ZN15QAbstractButton7clickedEb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x69580b38
61 ZNK12QButtonGroup9checkedIdEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x692ee953
62 ZNK12QButtonGroup9checkedIdEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x692ee8d1
63 ZN15QAbstractButton17mouseReleaseEventEP11QMouseEv ent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x692efd7d
64 ZN7QWidget5eventEP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fb6ad8
65 ZN15QAbstractButton5eventEP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x692efc08
66 ZN11QPushButton5eventEP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x6938e9e2
67 ZN19QApplicationPrivate13notify_helperEP7QObjectP6 QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68f6bd88
68 ZN12QApplication6notifyEP7QObjectP6QEvent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68f69fd1
69 ZN16QCoreApplication14notifyInternalEP7QObjectP6QE vent D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtCored4 .dll 0 0x6a201664
70 ZN16QAccessibleEvent8setValueERK7QString D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x695e8182
71 ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP 11QMouseEventS1_S1_PS1_R8QPointerIS0_Eb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68f687e0
72 ZN12QApplication16winMouseButtonUpEv D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fd3637
73 ZN12QApplication8winFocusEP7QWidgetb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fce482
74 USER32!OffsetRect C:\Windows\syswow64\user32.dll 0 0x772f62fa
75 USER32!CreateWindowStationW C:\Windows\syswow64\user32.dll 0 0x772f80a9
76 ?? 0 0x30000
77 USER32!IsWindow C:\Windows\syswow64\user32.dll 0 0x772f6d3a
78 ZN12QApplication8winFocusEP7QWidgetb D:\Tools\QtSDK\Desktop\Qt\4.7.4\mingw\lib\QtGuid4. dll 0 0x68fcd981
79 USER32!AnyPopup C:\Windows\syswow64\user32.dll 0 0x772f77c4
80 ?? 0


It looks like it might be related to QTBUG-16292 (https://bugreports.qt-project.org/browse/QTBUG-16292)

I'm building against Qt 4.7.4 on Windows 7 64-bit.

EDIT: I've filed a bug report on this: QTBUG-24377 (https://bugreports.qt-project.org/browse/QTBUG-24377)

Any ideas on how to debug this further will be much appreciated.
Thanks,
Jaco.