D6727: Destroy all kwayland objects created by registry when it is destroyed

2017-07-28 Thread David Edmundson
This revision was automatically updated to reflect the committed changes.
Closed by commit R127:b669d4148a39: Destroy all kwayland objects created by 
registry when it is destroyed (authored by davidedmundson).

REPOSITORY
  R127 KWayland

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D6727?vs=17272&id=17312

REVISION DETAIL
  https://phabricator.kde.org/D6727

AFFECTED FILES
  autotests/client/test_wayland_registry.cpp
  src/client/blur.h
  src/client/contrast.h
  src/client/datadevice.h
  src/client/datadevicemanager.h
  src/client/dataoffer.h
  src/client/datasource.h
  src/client/dpms.h
  src/client/event_queue.h
  src/client/fakeinput.h
  src/client/idle.h
  src/client/output.cpp
  src/client/output.h
  src/client/outputconfiguration.h
  src/client/outputdevice.cpp
  src/client/outputdevice.h
  src/client/outputmanagement.h
  src/client/plasmashell.h
  src/client/plasmawindowmanagement.h
  src/client/pointerconstraints.h
  src/client/pointergestures.h
  src/client/registry.cpp
  src/client/registry.h
  src/client/relativepointer.h
  src/client/seat.h
  src/client/server_decoration.h
  src/client/shadow.h
  src/client/shm_pool.h
  src/client/slide.h
  src/client/surface.h
  src/client/textinput.h
  src/client/xdgshell.h

To: davidedmundson, graesslin
Cc: graesslin, plasma-devel, #frameworks, leezu, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, 
hein, lukas


D6727: Destroy all kwayland objects created by registry when it is destroyed

2017-07-27 Thread Martin Flöser
graesslin accepted this revision.
This revision is now accepted and ready to land.

REPOSITORY
  R127 KWayland

BRANCH
  davidedmundson/xdgv6

REVISION DETAIL
  https://phabricator.kde.org/D6727

To: davidedmundson, graesslin
Cc: graesslin, plasma-devel, #frameworks, leezu, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, 
hein, lukas


D6727: Destroy all kwayland objects created by registry when it is destroyed

2017-07-27 Thread David Edmundson
davidedmundson updated this revision to Diff 17272.
davidedmundson added a comment.


  Updated docs + unit test

REPOSITORY
  R127 KWayland

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D6727?vs=16758&id=17272

BRANCH
  davidedmundson/xdgv6

REVISION DETAIL
  https://phabricator.kde.org/D6727

AFFECTED FILES
  autotests/client/test_wayland_registry.cpp
  src/client/blur.h
  src/client/contrast.h
  src/client/datadevice.h
  src/client/datadevicemanager.h
  src/client/dataoffer.h
  src/client/datasource.h
  src/client/dpms.h
  src/client/event_queue.h
  src/client/fakeinput.h
  src/client/idle.h
  src/client/output.cpp
  src/client/output.h
  src/client/outputconfiguration.h
  src/client/outputdevice.cpp
  src/client/outputdevice.h
  src/client/outputmanagement.h
  src/client/plasmashell.h
  src/client/plasmawindowmanagement.h
  src/client/pointerconstraints.h
  src/client/pointergestures.h
  src/client/registry.cpp
  src/client/registry.h
  src/client/relativepointer.h
  src/client/seat.h
  src/client/server_decoration.h
  src/client/shadow.h
  src/client/shm_pool.h
  src/client/slide.h
  src/client/surface.h
  src/client/textinput.h
  src/client/xdgshell.h

To: davidedmundson
Cc: graesslin, plasma-devel, #frameworks, leezu, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, 
hein, lukas


D6727: Destroy all kwayland objects created by registry when it is destroyed

2017-07-16 Thread Martin Flöser
graesslin added a comment.


  In https://phabricator.kde.org/D6727#125900, @davidedmundson wrote:
  
  > We still need https://phabricator.kde.org/D6571, with my proposed change. 
That's a special case where we delete the connection before the QPA.
  
  
  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 ;-)

REPOSITORY
  R127 KWayland

REVISION DETAIL
  https://phabricator.kde.org/D6727

To: davidedmundson
Cc: graesslin, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein, lukas


D6727: Destroy all kwayland objects created by registry when it is destroyed

2017-07-16 Thread David Edmundson
davidedmundson added a comment.


  We still need https://phabricator.kde.org/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.

REPOSITORY
  R127 KWayland

REVISION DETAIL
  https://phabricator.kde.org/D6727

To: davidedmundson
Cc: graesslin, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein, lukas


D6727: Destroy all kwayland objects created by registry when it is destroyed

2017-07-16 Thread Martin Flöser
graesslin added a comment.


  I like the idea! That would basically allow us to abandon 
https://phabricator.kde.org/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?

REPOSITORY
  R127 KWayland

REVISION DETAIL
  https://phabricator.kde.org/D6727

To: davidedmundson
Cc: graesslin, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein, lukas


D6727: Destroy all kwayland objects created by registry when it is destroyed

2017-07-15 Thread David Edmundson
davidedmundson created this revision.
Restricted Application added subscribers: Frameworks, plasma-devel.
Restricted Application added projects: Plasma on Wayland, Frameworks.

REVISION SUMMARY
  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.

TEST PLAN
  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.

REPOSITORY
  R127 KWayland

BRANCH
  davidedmundson/xdgv6

REVISION DETAIL
  https://phabricator.kde.org/D6727

AFFECTED FILES
  src/client/connection_thread.cpp
  src/client/output.cpp
  src/client/output.h
  src/client/outputdevice.cpp
  src/client/outputdevice.h
  src/client/registry.cpp
  src/client/registry.h

To: davidedmundson
Cc: plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, eliasp, sebas, apol, mart, hein, lukas