Reviewing merge request #2627: a set of fixes and improvements for QWS
Commits that would be merged:
Version 5
- 408a522
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Showing
408a522-fa13df9Comments
QWS apps crash now, e.g. “./tst_qlineedit -qws”:
0 0xb7fe2832 in ?? () from /lib/ld-linux.so.2
1 0xb6bbbe71 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
2 0xb6bbf34e in abort () at abort.c:92
3 0xb6bf2577 in __libc_message (do_abort=2,
fmt=0xb6ccb8ac "*** glibc detected *** %s: %s: 0x%s ***\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
4 0xb6bfc961 in malloc_printerr (action=, str=,
ptr=0x8127fd0) at malloc.c:6283
5 0xb6bfe28b in _int_free (av=, p=0x8127fc8) at malloc.c:4795
6 0xb6c0141d in __libc_free (mem=0x8127fd0) at malloc.c:3738
7 0xb6dde4d1 in operator delete(void*) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
8 0xb6dde52d in operator delete () from /usr/lib/i386-linux-gnu/libstdc++.so.6
9 0xb76a372f in QWSLocalMemSurface::setGeometry (this=0x80c5da0, rect=…)
at /home/harald/qt/qt/src/gui/painting/qwindowsurface_qws.cpp:975
10 0xb7699b57 in QWidgetBackingStore::releaseBuffer (this=0x80f8d30)
at /home/harald/qt/qt/src/gui/painting/qbackingstore.cpp:292
11 0xb74fb7ca in QWidgetPrivate::hide_sys (this=0x80fcf90)
at /home/harald/qt/qt/src/gui/kernel/qwidget_qws.cpp:651
12 0xb74c5394 in QWidgetPrivate::hide_helper (this=0x80fcf90)
at /home/harald/qt/qt/src/gui/kernel/qwidget.cpp:7594
13 0xb74c5adc in QWidget::setVisible (this=0xbfffe670, visible=false)
at /home/harald/qt/qt/src/gui/kernel/qwidget.cpp:7777
14 0xb74aa41a in QWidget::hide (this=0xbfffe670)
at ../../include/QtGui/../../../qt/src/gui/kernel/qwidget.h:498
15 0xb74c6135 in QWidgetPrivate::close_helper (this=0x80fcf90, mode=QWidgetPrivate::CloseNoEvent)
at /home/harald/qt/qt/src/gui/kernel/qwidget.cpp:7912
16 0xb74b73c2 in QWidget::~QWidget (this=0xbfffe670, __in_chrg=)
at /home/harald/qt/qt/src/gui/kernel/qwidget.cpp:1611
17 0xb78c9631 in QLineEdit::~QLineEdit (this=0xbfffe670, __in_chrg=)
at /home/harald/qt/qt/src/gui/widgets/qlineedit.cpp:357
18 0x080709c2 in LineEdit::~LineEdit (this=0xbfffe670, __in_chrg=)
at /home/harald/qt/qt/tests/auto/qlineedit/tst_qlineedit.cpp:3023
19 0x080664c1 in tst_QLineEdit::returnPressedKeyEvent (this=0xbffff03c)
at /home/harald/qt/qt/tests/auto/qlineedit/tst_qlineedit.cpp:3051
20 0x0806e370 in tst_QLineEdit::qt_static_metacall (_o=0xbffff03c,
_c=QMetaObject::InvokeMetaMethod, _id=79, _a=0xbfffe740)
at .moc/debug-shared-emb-x86/tst_qlineedit.moc:311
21 0xb6fe5c89 in QMetaMethod::invoke (this=0xbfffe8ac, object=0xbffff03c,
connectionType=Qt::DirectConnection, returnValue=..., val0=..., val1=..., val2=..., val3=...,
val4=..., val5=..., val6=..., val7=..., val8=..., val9=...)
at /home/harald/qt/qt/src/corelib/kernel/qmetaobject.cpp:1636
22 0xb6fe51b2 in QMetaObject::invokeMethod (obj=0xbffff03c,
member=0x8089768 "returnPressedKeyEvent", type=Qt::DirectConnection, ret=..., val0=...,
val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...)
at /home/harald/qt/qt/src/corelib/kernel/qmetaobject.cpp:1178
23 0xb7fc8e86 in QMetaObject::invokeMethod (obj=0xbffff03c,
member=0x8089768 "returnPressedKeyEvent", type=Qt::DirectConnection, val0=..., val1=...,
val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...)
at ../../include/QtCore/../../../qt/src/corelib/kernel/qobjectdefs.h:418
24 0xb7fc68f5 in QTest::qInvokeTestMethodDataEntry (slot=0x8089768 “returnPressedKeyEvent”)
at /home/harald/qt/qt/src/testlib/qtestcase.cpp:1355
25 0xb7fc6e7a in QTest::qInvokeTestMethod (slotName=0x80780b9 “returnPressedKeyEvent()”, data=0x0)
at /home/harald/qt/qt/src/testlib/qtestcase.cpp:1463
26 0xb7fc7601 in QTest::qInvokeTestMethods (testObject=0xbffff03c)
at /home/harald/qt/qt/src/testlib/qtestcase.cpp:1628
27 0xb7fc7a81 in QTest::qExec (testObject=0xbffff03c, argc=1, argv=0xbffff134)
at /home/harald/qt/qt/src/testlib/qtestcase.cpp:1851
28 0x0806dde8 in main (argc=1, argv=0xbffff134)
at /home/harald/qt/qt/tests/auto/qlineedit/tst_qlineedit.cpp:3899
the memleak fix was a bit incorrect (I've missed that the memory was deleted twice with it – indirectly by hiding the widget and then directly – in destructor).
updated with a proper and tested fix…
updated once again with some optimizations…
Tested & Merged, thanks for the contribution :)


Add a new comment:
Login or create an account to post a comment