Bug 362772

Summary: kwin crashes when using the Mazimize button on all non-standard window decorations with BorderlessMaximizedWindows=true
Product: [Plasma] kwin Reporter: Hjorten <hjorten.misc>
Component: auroraeAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash Keywords: drkonqi
Priority: NOR Flags: mgraesslin: ReviewRequest+
Version: 5.5.4   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
URL: https://phabricator.kde.org/D1586
Latest Commit: Version Fixed In: 5.6.5

Description Hjorten 2016-05-07 08:01:14 UTC
Application: kwin_x11 (5.5.4)

Qt Version: 5.5.1
Operating System: Linux 4.5.0-040500-generic x86_64
Distribution: Ubuntu 15.10

-- Information about the crash:
- What I was doing when the application crashed:
Maximized a window using the Mazimize button on a non-default window decoration with BorderlessMaximizedWindows=true

- Unusual behavior I noticed:
kwin crashed
- Custom settings of the application:
None, but kwin has kwin BorderlessMaximizedWindows=true

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f60a3d5b840 (LWP 14396))]

Thread 3 (Thread 0x7f6078ec3700 (LWP 14402)):
#0  0x00007f60a38536f3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f60a1e35b7f in qt_safe_select (nfds=15, fdread=fdread@entry=0x7f6074000a78, fdwrite=fdwrite@entry=0x7f6074000d08, fdexcept=fdexcept@entry=0x7f6074000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f60a1e3767e in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f6074000f98, writefds=0x7f6074000d08, readfds=0x7f6074000a78, nfds=<optimized out>, this=0x7f60740008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f60740008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f60a1e37bae in QEventDispatcherUNIX::processEvents (this=0x7f60740008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f60a1de150a in QEventLoop::exec (this=this@entry=0x7f6078ec2d60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f60a1bfdac4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f609c934c35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f60a1c02a6e in QThreadPrivate::start (arg=0x152f140) at thread/qthread_unix.cpp:331
#9  0x00007f60a2e5b6aa in start_thread (arg=0x7f6078ec3700) at pthread_create.c:333
#10 0x00007f60a385ce9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f6072a49700 (LWP 14404)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f60a0d8b194 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f60a0d8b1d9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f60a2e5b6aa in start_thread (arg=0x7f6072a49700) at pthread_create.c:333
#4  0x00007f60a385ce9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f60a3d5b840 (LWP 14396)):
[KCrash Handler]
#6  0x00007f609c8bf0e0 in QQmlBoundSignalExpression::function() const () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f609c8bf190 in QQmlBoundSignalExpression::sourceLocation() const () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f609c89efa8 in QQmlData::destroyed(QObject*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f60a1e1a4c4 in QObject::~QObject (this=0x1596570, __in_chrg=<optimized out>) at kernel/qobject.cpp:912
#10 0x00007f609ce3b25d in QQuickItem::~QQuickItem() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#11 0x00007f609ce55ed6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#12 0x00007f60a1e10e5b in QObjectPrivate::deleteChildren (this=this@entry=0x1596700) at kernel/qobject.cpp:1946
#13 0x00007f60a1e1a6c0 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1024
#14 0x00007f609ce3b25d in QQuickItem::~QQuickItem() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#15 0x00007f609ce55b06 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#16 0x00007f60a1e10e5b in QObjectPrivate::deleteChildren (this=this@entry=0x1854ff0) at kernel/qobject.cpp:1946
#17 0x00007f60a1e1a6c0 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1024
#18 0x00007f609ce3b25d in QQuickItem::~QQuickItem() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#19 0x00007f609ce55e26 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#20 0x00007f60a1e10e5b in QObjectPrivate::deleteChildren (this=this@entry=0x185c9f0) at kernel/qobject.cpp:1946
#21 0x00007f60a1e1a6c0 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1024
#22 0x00007f609ce3b25d in QQuickItem::~QQuickItem() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#23 0x00007f609ce5517e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#24 0x00007f60a1e10e5b in QObjectPrivate::deleteChildren (this=this@entry=0x162dd50) at kernel/qobject.cpp:1946
#25 0x00007f60a1e1a6c0 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1024
#26 0x00007f609ce3b25d in QQuickItem::~QQuickItem() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#27 0x00007f609ce55b06 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#28 0x00007f60a1e10e5b in QObjectPrivate::deleteChildren (this=this@entry=0x1618830) at kernel/qobject.cpp:1946
#29 0x00007f60a1e1a6c0 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1024
#30 0x00007f609ce3b25d in QQuickItem::~QQuickItem() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#31 0x00007f609ce55b06 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#32 0x00007f60a1e10e5b in QObjectPrivate::deleteChildren (this=this@entry=0x1865270) at kernel/qobject.cpp:1946
#33 0x00007f60a1e1a6c0 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1024
#34 0x00007f609ce3b25d in QQuickItem::~QQuickItem() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#35 0x00007f609ce55bae in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#36 0x00007f60a1e10e5b in QObjectPrivate::deleteChildren (this=this@entry=0x1849340) at kernel/qobject.cpp:1946
#37 0x00007f60a1e1a6c0 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1024
#38 0x00007f609ce3b25d in QQuickItem::~QQuickItem() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#39 0x00007f609ce55bae in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#40 0x00007f60a1e10e5b in QObjectPrivate::deleteChildren (this=this@entry=0x1637740) at kernel/qobject.cpp:1946
#41 0x00007f60a1e1a6c0 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1024
#42 0x00007f609ce3b25d in QQuickItem::~QQuickItem() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#43 0x00007f609ce55b06 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#44 0x00007f6089042ecf in Aurorae::Decoration::~Decoration (this=0x168cde0, __in_chrg=<optimized out>) at ../../../../clients/aurorae/src/aurorae.cpp:276
#45 0x00007f6089043019 in Aurorae::Decoration::~Decoration (this=0x168cde0, __in_chrg=<optimized out>) at ../../../../clients/aurorae/src/aurorae.cpp:280
#46 0x00007f60a3354eb6 in KWin::Client::destroyDecoration (this=this@entry=0x159aa50) at ../client.cpp:432
#47 0x00007f60a335e585 in KWin::Client::updateDecoration (this=0x159aa50, check_workspace_pos=<optimized out>, force=<optimized out>) at ../client.cpp:386
#48 0x00007f60a335edbc in KWin::Client::setNoBorder (this=0x159aa50, set=<optimized out>) at ../client.cpp:598
#49 0x00007f60a33ce23c in KWin::Client::changeMaximize (this=0x159aa50, vertical=<optimized out>, horizontal=<optimized out>, adjust=<optimized out>) at ../geometry.cpp:2259
#50 0x00007f60a33cd965 in KWin::AbstractClient::setMaximize (this=this@entry=0x159aa50, vertically=<optimized out>, horizontally=<optimized out>) at ../geometry.cpp:2125
#51 0x00007f60a33cd9bf in KWin::AbstractClient::maximize (this=this@entry=0x159aa50, m=<optimized out>) at ../geometry.cpp:2112
#52 0x00007f60a33bd124 in KWin::Workspace::performWindowOperation (this=0x13aebc0, c=0x159aa50, op=<optimized out>) at ../useractions.cpp:1091
#53 0x00007f60a052f5ab in ?? () from /usr/lib/x86_64-linux-gnu/libkdecorations2.so.5
#54 0x00007f60a0530f88 in KDecoration2::Decoration::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/x86_64-linux-gnu/libkdecorations2.so.5
#55 0x00007f60890502e5 in Aurorae::Decoration::qt_metacall (this=0x168cde0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff71bd04c0) at moc_aurorae.cpp:159
#56 0x00007f609c8f2c49 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#57 0x00007f609c877cac in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#58 0x00007f609c8794cc in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#59 0x00007f609c879cdd in QV4::QObjectMethod::callInternal(QV4::CallData*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#60 0x00007f609c8908a3 in QV4::Runtime::callProperty(QV4::ExecutionEngine*, int, QV4::CallData*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#61 0x00007f608806b629 in ?? ()
#62 0x00007fff71bd2b10 in ?? ()
#63 0x0003000000000006 in ?? ()
#64 0x0003000000000000 in ?? ()
#65 0x00007f607b801068 in ?? ()
#66 0x0000000001640530 in ?? ()
#67 0x00007f607b801060 in ?? ()
#68 0x00007f607b801058 in ?? ()
#69 0x00007f607b801060 in ?? ()
#70 0x0000000001640530 in ?? ()
#71 0x00007f609c830d5a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#72 0x00007f609c91a00f in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#73 0x00007f609c8c0526 in QQmlBoundSignalExpression::evaluate(void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#74 0x00007f609c8c0ddb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#75 0x00007f609c8fd4be in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#76 0x00007f609c8a008c in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#77 0x00007f60a1e121f0 in QMetaObject::activate (sender=0x1596570, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff71bd28a0) at kernel/qobject.cpp:3599
#78 0x00007f609cf7aa22 in QQuickMouseArea::clicked(QQuickMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#79 0x00007f609ceb43ae in QQuickMouseArea::setPressed(Qt::MouseButton, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#80 0x00007f609ceb4ecb in QQuickMouseArea::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#81 0x00007f609ce39878 in QQuickItem::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#82 0x00007f60a26d89dc in QApplicationPrivate::notify_helper (this=this@entry=0x12a9e60, receiver=receiver@entry=0x1596570, e=e@entry=0x12bed40) at kernel/qapplication.cpp:3716
#83 0x00007f60a26ddea6 in QApplication::notify (this=0x7fff71bd3ca0, receiver=0x1596570, e=0x12bed40) at kernel/qapplication.cpp:3499
#84 0x00007f60a1de3d7b in QCoreApplication::notifyInternal (this=0x7fff71bd3ca0, receiver=0x1596570, event=0x12bed40) at kernel/qcoreapplication.cpp:965
#85 0x00007f609ce48b63 in QQuickWindow::sendEvent(QQuickItem*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#86 0x00007f609ce48f22 in QQuickWindowPrivate::deliverMouseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#87 0x00007f609ce4af4e in QQuickWindow::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#88 0x00007f60a212f3a5 in QWindow::event (this=0x144b640, ev=<optimized out>) at kernel/qwindow.cpp:2054
#89 0x00007f609ce50441 in QQuickWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#90 0x00007f60a26d89dc in QApplicationPrivate::notify_helper (this=this@entry=0x12a9e60, receiver=receiver@entry=0x144b640, e=e@entry=0x7fff71bd3140) at kernel/qapplication.cpp:3716
#91 0x00007f60a26ddea6 in QApplication::notify (this=0x7fff71bd3ca0, receiver=0x144b640, e=0x7fff71bd3140) at kernel/qapplication.cpp:3499
#92 0x00007f60a1de3d7b in QCoreApplication::notifyInternal (this=0x7fff71bd3ca0, receiver=0x144b640, event=event@entry=0x7fff71bd3140) at kernel/qcoreapplication.cpp:965
#93 0x00007f6089045d70 in QCoreApplication::sendEvent (event=0x7fff71bd3140, receiver=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:224
#94 Aurorae::Decoration::mouseReleaseEvent (this=0x168cde0, event=0x7fff71bd3430) at ../../../../clients/aurorae/src/aurorae.cpp:584
#95 0x00007f60a0526c59 in KDecoration2::Decoration::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libkdecorations2.so.5
#96 0x00007f60a26d89dc in QApplicationPrivate::notify_helper (this=this@entry=0x12a9e60, receiver=receiver@entry=0x168cde0, e=e@entry=0x7fff71bd3430) at kernel/qapplication.cpp:3716
#97 0x00007f60a26ddea6 in QApplication::notify (this=0x7fff71bd3ca0, receiver=0x168cde0, e=0x7fff71bd3430) at kernel/qapplication.cpp:3499
#98 0x00007f60a1de3d7b in QCoreApplication::notifyInternal (this=0x7fff71bd3ca0, receiver=0x168cde0, event=event@entry=0x7fff71bd3430) at kernel/qcoreapplication.cpp:965
#99 0x00007f60a33935fd in QCoreApplication::sendEvent (event=0x7fff71bd3430, receiver=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:224
#100 KWin::Client::buttonReleaseEvent (this=this@entry=0x159aa50, w=31457349, button=1, state=256, x=1073, y=13, x_root=1236, y_root=51) at ../events.cpp:1281
#101 0x00007f60a339429f in KWin::Client::windowEvent (this=0x159aa50, e=e@entry=0x7f6084007df0) at ../events.cpp:692
#102 0x00007f60a33957df in KWin::Workspace::workspaceEvent (this=0x13aebc0, e=0x7f6084007df0) at ../events.cpp:352
#103 0x00007f60a1de069f in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7f6084007df0, result=result@entry=0x7fff71bd3688) at kernel/qabstracteventdispatcher.cpp:460
#104 0x00007f608d2151e4 in QXcbConnection::handleXcbEvent (this=this@entry=0x12b13e0, event=event@entry=0x7f6084007df0) at qxcbconnection.cpp:1020
#105 0x00007f608d215f93 in QXcbConnection::processXcbEvents (this=0x12b13e0) at qxcbconnection.cpp:1502
#106 0x00007f60a1e137b1 in QObject::event (this=0x12b13e0, e=<optimized out>) at kernel/qobject.cpp:1239
#107 0x00007f60a26d89dc in QApplicationPrivate::notify_helper (this=this@entry=0x12a9e60, receiver=receiver@entry=0x12b13e0, e=e@entry=0x7f6084001700) at kernel/qapplication.cpp:3716
#108 0x00007f60a26ddea6 in QApplication::notify (this=0x7fff71bd3ca0, receiver=0x12b13e0, e=0x7f6084001700) at kernel/qapplication.cpp:3499
#109 0x00007f60a1de3d7b in QCoreApplication::notifyInternal (this=0x7fff71bd3ca0, receiver=0x12b13e0, event=event@entry=0x7f6084001700) at kernel/qcoreapplication.cpp:965
#110 0x00007f60a1de6176 in QCoreApplication::sendEvent (event=0x7f6084001700, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#111 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x129a5f0) at kernel/qcoreapplication.cpp:1593
#112 0x00007f60a1e37a72 in QEventDispatcherUNIX::processEvents (this=0x12d8a70, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:579
#113 0x00007f608d2787ad in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#114 0x00007f60a1de150a in QEventLoop::exec (this=this@entry=0x7fff71bd3bc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#115 0x00007f60a1de95ec in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#116 0x00007f60a211dd1c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1530
#117 0x00007f60a26d4e15 in QApplication::exec () at kernel/qapplication.cpp:2976
#118 0x00007f60a3b25564 in kdemain (argc=2, argv=0x7fff71bd3e08) at ../main_x11.cpp:308
#119 0x00007f60a3776a40 in __libc_start_main (main=0x4007a0 <main(int, char**)>, argc=2, argv=0x7fff71bd3e08, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff71bd3df8) at libc-start.c:289
#120 0x00000000004007d9 in _start ()

Possible duplicates by query: bug 352548, bug 350572.

Reported using DrKonqi
Comment 1 Thomas Lübking 2016-05-07 08:03:21 UTC
*** Bug 362770 has been marked as a duplicate of this bug. ***
Comment 2 Thomas Lübking 2016-05-07 08:12:08 UTC
This is like bug #346857 and is https://bugreports.qt.io/browse/QTBUG-48921

Bug #346857 works around the problem when closing a window, but not when maximizing it (because the issue won't occur unless the deco is destroyed by the maximization as in your setup)

Worst of all is that this is also related to bug #303450 (QGraphicsScene cannot cut events and by this crash itself ...), so I guess this will never be fixed in Qt (because applications aren't destroyed on smartphones ...)

=> A similar workaround in the aurorae decoration will be required if one wants to remain with QML.
Comment 3 Hjorten 2016-05-07 08:27:50 UTC
Thanks for the explaination.

To me it seemed strange that Kwin does NOT crash, if I choose "Maximize" by right clicking on the process' icon in the task bar, nor does it crash if I choose Maximize from the Window menu (invoke by right-clicking the application icon of the window, or alt-f3).

So will it be fixed in aurorae at some point?
Comment 4 Thomas Lübking 2016-05-07 10:54:15 UTC
(In reply to Hjorten from comment #3)

> To me it seemed strange that Kwin does NOT crash, if I choose "Maximize" by
> right clicking on the process' icon in the task bar, nor does it crash if I
> choose Maximize from the Window menu

No, that perfectly fits the pattern.
QML tries to process the event in an object that was destroyed by the event (and that is not event interceptable)

> So will it be fixed in aurorae at some point?
Can't - the bug is in QML.

The aurorae decoration could work around the problem by delaying the (potentially) destructive action by one event cycle just like it does for closing. No idea whether it will, I simply stopped using Qt/KDE.
Comment 5 Hjorten 2016-05-07 12:07:08 UTC
(In reply to Thomas Lübking from comment #4)
> (In reply to Hjorten from comment #3)
> 
> The aurorae decoration could work around the problem by delaying the
> (potentially) destructive action by one event cycle just like it does for
> closing. No idea whether it will, I simply stopped using Qt/KDE.

I would have assumed you were a KDE developer(?). 
But is what you are saying, that you are not anymore? ("I simply stopped usingQt/KDE")

How about that this is also about a KDE bug, even if it originate from QT, even though KDE/Plasma could potentially apply a work-around?

So should people abandon KDE (which is by nature built-upon QT)? because the developers are not using it anymore? Or did I get that wrong too?
Comment 6 Thomas Lübking 2016-05-07 12:26:30 UTC
I *was* a user for 15 and developer for 10 years, but looking at state, development an apparent direction of Qt5 for several years now, took the *personal* decision to better not rely on it anymore.
What other people should do, other people need to figure themselves.

There're still KDE developers around and KWin is still maintained (if that's your worries)
I'm just triaging bugs for a few months as last service, because my knowledge didn't immediately drop out of my head.

Not sure about your middle paragraph, but this is a design bug/flaw in QtQuick that client code can seek to avoid (by forementioned workaround) but not fix.
Comment 7 Martin Flöser 2016-05-11 11:46:57 UTC
Problem reproduced with a test case and fix in https://phabricator.kde.org/D1586
Comment 8 Martin Flöser 2016-05-12 14:37:11 UTC
Git commit 6cd0d5a54acf618d094097b6222f331352abe7b0 by Martin Gräßlin.
Committed on 11/05/2016 at 11:45.
Pushed by graesslin into branch 'Plasma/5.6'.

Delay maximize button click to next event cycle

Summary:
The delay to next cycle dance is needed for Aurorae. Maximizing a
window can result in the decoration being destroyed, in which case
QtQuick can trigger a crash.

A test case is added to simulate the situation and ensure that maximize
still works also after the change.
FIXED-IN: 5.6.5

Reviewers: #plasma

Subscribers: plasma-devel

Projects: #plasma

Differential Revision: https://phabricator.kde.org/D1586

M  +11   -0    autotests/wayland/CMakeLists.txt
A  +155  -0    autotests/wayland/dont_crash_aurorae_destroy_deco.cpp     [License: GPL (v2)]
M  +1    -0    clients/aurorae/themes/plastik/package/contents/ui/main.qml
M  +6    -1    decorations/decoratedclient.cpp
M  +4    -0    decorations/decoratedclient.h

http://commits.kde.org/kwin/6cd0d5a54acf618d094097b6222f331352abe7b0