SUMMARY STEPS TO REPRODUCE 1. kcmshell5 colors 2. Choose a different colour and apply 3. Boom OBSERVED RESULT #0 0x00007f9eed99b755 in raise () at /usr/lib/libc.so.6 #1 0x00007f9eed98691a in abort () at /usr/lib/libc.so.6 #2 0x00007f9eee0661f4 in qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) (context=..., message=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:1907 #3 0x00007f9eee066e65 in QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffdf4720c20, msg=msg@entry=0x7f9eee371210 "ASSERT: \"%s\" in file %s, line %d") at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.cpp:888 #4 0x00007f9eee05f912 in qt_assert(char const*, char const*, int) (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qlogging.h:91 #5 0x00007f9eef9084c1 in KWayland::Client::Seat::createPointer(QObject*) (this=0x55d7393cd4a0, parent=0x55d7384a9bc0) at /home/apol/devel/frameworks/kwayland/src/client/seat.cpp:199 #6 0x00007f9ee780e062 in Breeze::WindowManager::waylandHasPointerChanged(bool) (this=0x55d7384a9bc0, hasPointer=true) at /home/apol/devel/frameworks/breeze/kstyle/breezewindowmanager.cpp:289 #7 0x00007f9ee7812a5b in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<bool>, void, void (Breeze::WindowManager::*)(bool)>::call(void (Breeze::WindowManager::*)(bool), Breeze::WindowManager*, void**) (f= (void (Breeze::WindowManager::*)(Breeze::WindowManager * const, bool)) 0x7f9ee780dfe0 <Breeze::WindowManager::waylandHasPointerChanged(bool)>, o=0x55d7384a9bc0, arg=0x7f9ed800f2e0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:152 #8 0x00007f9ee78129b3 in QtPrivate::FunctionPointer<void (Breeze::WindowManager::*)(bool)>::call<QtPrivate::List<bool>, void>(void (Breeze::WindowManager::*)(bool), Breeze::WindowManager*, void**) (f= (void (Breeze::WindowManager::*)(Breeze::WindowManager * const, bool)) 0x7f9ee780dfe0 <Breeze::WindowManager::waylandHasPointerChanged(bool)>, o=0x55d7384a9bc0, arg=0x7f9ed800f2e0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:185 #9 0x00007f9ee78128d6 in QtPrivate::QSlotObject<void (Breeze::WindowManager::*)(bool), QtPrivate::List<bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55d7384f5e10, r=0x55d7384a9bc0, a=0x7f9ed800f2e0, ret=0x0) at /home/apol/devel/kde5/include/QtCore/qobjectdefs_impl.h:414 #10 0x00007f9eee2a2939 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=<optimized out>, r=0x55d7384a9bc0, this=<optimized out>) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/kernel/qobjectdefs_impl.h:394 #11 0x00007f9eee2a2939 in QMetaCallEvent::placeMetaCall(QObject*) (this=0x7f9ed800b0f0, object=0x55d7384a9bc0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:518 #12 0x00007f9eee2a91b9 in QObject::event(QEvent*) (this=0x55d7384a9bc0, e=<optimized out>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qobject.cpp:1260 #13 0x00007f9eeecaa07b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x55d7384985e0, receiver=receiver@entry=0x55d7384a9bc0, e=e@entry=0x7f9ed800b0f0) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3703 #14 0x00007f9eeecb39c8 in QApplication::notify(QObject*, QEvent*) (this=0x7ffdf4721c60, receiver=0x55d7384a9bc0, e=0x7f9ed800b0f0) at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3059 #15 0x00007f9eee270ac3 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55d7384a9bc0, event=0x7f9ed800b0f0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1095 #16 0x00007f9eee270d24 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=receiver@entry=0x55d7384a9bc0, event=event@entry=0x7f9ed800b0f0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1490 #17 0x00007f9eee2745ef in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x55d7384874e0) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1840 #18 0x00007f9eee2d71cb in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55d7384a6b50, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:466 #19 0x00007f9ee838527f in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/platformsupport/eventdispatchers/qunixeventdispatcher.cpp:63 #20 0x00007f9eee26e6a7 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffdf4721400, flags=..., flags@entry=...) at /usr/include/c++/9.1.0/bits/atomic_base.h:734 #21 0x00007f9eee26eaff in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffdf4721400, flags=flags@entry=...) at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:122 #22 0x00007f9eee278f10 in QCoreApplication::exec() () at ../../include/QtCore/../../../../../devel/frameworks/qt5/qtbase/src/corelib/global/qflags.h:120 #23 0x00007f9eee65d834 in QGuiApplication::exec() () at /home/apol/devel/frameworks/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:1788 #24 0x00007f9eeeca9fe9 in QApplication::exec() () at /home/apol/devel/frameworks/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2859 #25 0x000055d736468cda in main(int, char**) (argc=4, argv=0x7ffdf4721e78) at /home/apol/devel/frameworks/kwin/main_wayland.cpp:676 EXPECTED RESULT SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION
Reassigning to breeze as the assert I'd triggered from the kstyle.
(In reply to Martin Flöser from comment #1) > Reassigning to breeze as the assert I'd triggered from the kstyle. Martin, I am re-adding you in cc to this bug. You actually wrote the code from where the asserts arises. This is the wayland part of the WindowManager code that allows to grab windows from empty areas. I know nothing about that code and would not be able to fix. Can you please have a closer look ? Hugo
I've just tested this on systemsettings 5.20.2 with Breeze 5.20.3 and I can't replicate the crash.
Me neither. Can anyone? Aleix?
Not anymore!