-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128457/
-----------------------------------------------------------

Review request for Plasma, David Edmundson, David Rosca, Martin Gräßlin, and 
Marco Martin.


Repository: plasma-framework


Description
-------

- Initially set state (and type, and flags) in response to 
PlatformSurfaceCreated.
  We know reliably this will run before the window is mapped.

- Drop the comment about removing setState() form showEvent handler, as
  we need it to avoid state loss in this scenario:
  <mgraesslin> the window gets mapped first time: everything is fine
  <mgraesslin> window gets unmapped: kwin removes the state as per spec
  <mgraesslin> qt gets change event and removes the states it doesn't care about
  <mgraesslin> qt maps window again and sets states
  <mgraesslin> we lost the state
  <mgraesslin> which means we need to set the state again from our side 
before(!) Qt sets it
  <mgraesslin> and before Qt maps the window


Diffs
-----

  src/plasmaquick/dialog.cpp be74067 

Diff: https://git.reviewboard.kde.org/r/128457/diff/


Testing
-------

I added debug statements to XWindowTasksModel::Private::addWindow in 
libtaskmanager, which runs in repsonse to KWindowSystem::windowAdded and 
constructs a KWindowInfo for the newly-added window. Evaluating state() & 
NET::SkipTaskBar there after clicking the panel button to open Kicker, without 
this patch, it was sometimes 'false' (i.e. not skipping the taskbar) on the 
initial show and on subsequent shows. Setting the state in response to 
PlatformSurfaceCreated seems to fix the former, and keeping the setState call 
in showEvent (in combination with drosca's fixes to Qt 5.6.1+) is what keeps 
the latter working.


Thanks,

Eike Hein

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to