Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.14
-
None
-
Debian 10 (Buster) AMD64.
Description
Running the minimal-cpp example in the qwindow-compositor emits a "QObject::disconnect: Unexpected null parameter" warning on application exit. Source is a fresh clone of branch dev.
Here's a backtrace:
#0 QObject::disconnectImpl (sender=<optimized out>, signal=signal@entry=0x7fffffffd9d0, receiver=receiver@entry=0x55555557cb00, slot=slot@entry=0x7fffffffd9e0, senderMetaObject=<optimized out>) at kernel/qobject.cpp:5032 #1 0x00007ffff4da9982 in QObject::disconnect<void (QObject::*)(QObject*), void (QtWaylandClient::QWaylandInputDevice::Pointer::*)()> (slot=(void (QtWaylandClient::QWaylandInputDevice::Pointer::*)(QtWaylandClient::QWaylandInputDevice::Pointer * const)) 0x7ffff4daf9c0 <QtWaylandClient::QWaylandInputDevice::Pointer::handleFocusDestroyed()>, receiver=0x55555557cb00, signal=(void (QObject::*)(QObject * const, QObject *)) 0x7ffff678a84a <QObject::destroyed(QObject*)>, sender=<optimized out>) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/kernel/qobject.h:356 #2 QtWaylandClient::QWaylandInputDevice::Pointer::invalidateFocus (this=0x55555557cb00) at qwaylandinputdevice.cpp:770 #3 0x00007ffff4daf9c9 in QtWaylandClient::QWaylandInputDevice::Pointer::handleFocusDestroyed (this=<optimized out>) at qwaylandinputdevice_p.h:304 #4 0x00007ffff4daf79e in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QtWaylandClient::QWaylandInputDevice::Pointer::*)()>::call(void (QtWaylandClient::QWaylandInputDevice::Pointer::*)(), QtWaylandClient::QWaylandInputDevice::Pointer*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:184 #5 QtPrivate::FunctionPointer<void (QtWaylandClient::QWaylandInputDevice::Pointer::*)()>::call<QtPrivate::List<>, void>(void (QtWaylandClient::QWaylandInputDevice::Pointer::*)(), QtWaylandClient::QWaylandInputDevice::Pointer*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:185 #6 QtPrivate::QSlotObject<void (QtWaylandClient::QWaylandInputDevice::Pointer::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:414 #7 0x00007ffff67924e9 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffdb20, r=0x55555557cb00, this=0x555555fdbf80) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394 #8 doActivate<false> (sender=sender@entry=0x5555555900c0, signal_index=<optimized out>, argv=<optimized out>, argv@entry=0x7fffffffdb20) at kernel/qobject.cpp:3768 #9 0x00007ffff678a7e7 in QMetaObject::activate (sender=sender@entry=0x5555555900c0, m=m@entry=0x7ffff6b07b20 <QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffdb20) at kernel/qobject.cpp:3827 #10 0x00007ffff678a87c in QObject::destroyed (this=this@entry=0x5555555900c0, _t1=<optimized out>, _t1@entry=0x5555555900c0) at .moc/moc_qobject.cpp:219 #11 0x00007ffff67903b7 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:950 #12 0x00007ffff4dc6cc1 in QtWaylandClient::QWaylandSurface::~QWaylandSurface (this=0x5555555900c0, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/atomic_base.h:303 #13 0x00007ffff4dc6cf3 in QtWaylandClient::QWaylandSurface::~QWaylandSurface (this=0x5555555900c0, __in_chrg=<optimized out>) at qwaylandsurface.cpp:56 #14 0x00007ffff4dbc635 in QScopedPointerDeleter<QtWaylandClient::QWaylandSurface>::cleanup (pointer=<optimized out>) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/tools/qscopedpointer.h:52 #15 QScopedPointer<QtWaylandClient::QWaylandSurface, QScopedPointerDeleter<QtWaylandClient::QWaylandSurface> >::reset (other=0x0, this=0x5555556174a0) at /home/user/nobackup/test/qt-dev/qtbase/include/QtCore/../../src/corelib/tools/qscopedpointer.h:159 #16 QtWaylandClient::QWaylandWindow::reset (this=this@entry=0x555555617470, sendDestroyEvent=sendDestroyEvent@entry=true) at qwaylandwindow.cpp:243 #17 0x00007ffff4dbfbd9 in QtWaylandClient::QWaylandWindow::setVisible (this=this@entry=0x555555617470, visible=<optimized out>) at qwaylandwindow.cpp:413 #18 0x00007ffff49ef80a in QtWaylandClient::QWaylandEglWindow::setVisible (this=0x555555617470, visible=<optimized out>) at ../../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp:167 #19 0x00007ffff73e8908 in QWindowPrivate::setVisible (this=0x555555592600, visible=<optimized out>) at kernel/qwindow.cpp:402 #20 0x00007ffff73e1486 in QWindow::setVisible (this=this@entry=0x7fffffffe320, visible=visible@entry=false) at kernel/qwindow.cpp:612 #21 0x00007ffff73e827a in QWindowPrivate::destroy (this=this@entry=0x555555592600) at kernel/qwindow.cpp:1901 #22 0x00007ffff73e83b3 in QWindow::destroy (this=this@entry=0x7fffffffe320) at kernel/qwindow.cpp:1869 #23 0x00007ffff73e8c9a in QWindow::event (this=0x7fffffffe320, ev=<optimized out>) at kernel/qwindow.cpp:2316 #24 0x00007ffff7415f82 in QPaintDeviceWindow::event (this=<optimized out>, event=<optimized out>) at kernel/qpaintdevicewindow.cpp:206 #25 0x00007ffff6758582 in QCoreApplicationPrivate::notify_helper (receiver=receiver@entry=0x7fffffffe320, event=event@entry=0x7fffffffdf60) at kernel/qcoreapplication.cpp:1207 #26 0x00007ffff675862b in doNotify (receiver=receiver@entry=0x7fffffffe320, event=event@entry=0x7fffffffdf60) at kernel/qcoreapplication.cpp:1129 #27 0x00007ffff6758756 in QCoreApplication::notify (this=this@entry=0x7fffffffe370, receiver=receiver@entry=0x7fffffffe320, event=event@entry=0x7fffffffdf60) at kernel/qcoreapplication.cpp:1122 #28 0x00007ffff73d9a14 in QGuiApplication::notify (this=0x7fffffffe370, object=0x7fffffffe320, event=0x7fffffffdf60) at kernel/qguiapplication.cpp:1798 #29 0x00007ffff67586a8 in QCoreApplication::notifyInternal2 (receiver=0x7fffffffe320, event=0x7fffffffdf60) at kernel/qcoreapplication.cpp:1046 #30 0x00007ffff67588e6 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=event@entry=0x7fffffffdf60) at kernel/qcoreapplication.cpp:1453 #31 0x00007ffff73da9fa in QGuiApplicationPrivate::processCloseEvent (e=0x555555f479d0) at /usr/include/c++/8/bits/atomic_base.h:390 #32 0x00007ffff73de162 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x555555f479d0) at kernel/qguiapplication.cpp:1889 #33 0x00007ffff73b234c in QWindowSystemEventHandler::sendEvent (this=this@entry=0x555555594430, e=e@entry=0x555555f479d0) at kernel/qwindowsysteminterface.cpp:192 #34 0x00007ffff7edc67a in QtWayland::WindowSystemEventHandler::sendEvent (this=0x555555594430, e=0x555555f479d0) at compositor_api/qwaylandcompositor.cpp:114 #35 0x00007ffff73b3d51 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1148 #36 0x00007ffff4e598d3 in userEventSourceDispatch (source=<optimized out>) at qeventdispatcher_glib.cpp:74 #37 0x00007ffff5b99f2e in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #38 0x00007ffff5b9a1c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #39 0x00007ffff5b9a25c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #40 0x00007ffff67b8d08 in QEventDispatcherGlib::processEvents (this=0x55555558eaf0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #41 0x00007ffff4e59a18 in QPAEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at qeventdispatcher_glib.cpp:120 #42 0x00007ffff6756615 in QEventLoop::processEvents (this=this@entry=0x7fffffffe290, flags=..., flags@entry=...) at /usr/include/c++/8/bits/atomic_base.h:707 #43 0x00007ffff6756a34 in QEventLoop::exec (this=this@entry=0x7fffffffe290, flags=flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #44 0x00007ffff6760762 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:118 #45 0x00007ffff73d3f22 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1786 #46 0x000055555555971f in main (argc=<optimized out>, argv=<optimized out>) at main.cpp:64