Currently one has to connect every object manually to connectionDied,
which is something we can do for them.
If the user also has a connection, the second will just no-op.
Will add some awesome docs / unit tests if you're into the idea.
Currently one has to connect every object manually to connectionDied,
which is something we can do for them.
If the user also has a connection, the second will just no-op.
Will add some awesome docs / unit tests if you're into the idea.
Commit 2:
Emit connectionDied if the QPA owns the connection and is destroyed.
We have a few objects that linger longer than the qApp.
I've got a crash in plasmashell, and I've had a crash with breeze wrapping
a dangly menu in konversation. This should fix those.
Automatic diff as part of commit; lint not applicable. |
Automatic diff as part of commit; unit tests not applicable. |
I like the idea! That would basically allow us to abandon D6571 and would also solve the issues we see with the kwayland-integration plugin which can crash applications on exit.
May I ask for a small unit test for the new functionality?
We still need D6571, with my proposed change. That's a special case where we delete the connection before the QPA.
My added connect means that we get that signal regardless of whether we're in Kwin or not.
What we wouldn't need is the ownership changes you did for Breeze (and would otherwise still need doing in Oxygen/QtCurve )
May I ask for a small unit test for the new functionality?
For you, a *big* unit test.
It might be that we don't need it. Also KWin destroys the QPA and maybe that's sufficient - Breeze has it's own ConnectionThread which is not shared with KWin's.
My added connect means that we get that signal regardless of whether we're in Kwin or not.
What we wouldn't need is the ownership changes you did for Breeze (and would otherwise still need doing in Oxygen/QtCurve )
May I ask for a small unit test for the new functionality?
For you, a *big* unit test.
Just extend the existing ones - that should do and is hopefully small ;-)