kmaterka created this revision.
kmaterka added reviewers: Plasma: Workspaces, Plasma, davidedmundson.
kmaterka added a project: Plasma.
kmaterka requested review of this revision.

REVISION SUMMARY
  For each tray icon XEmbedSNIProxy is creating container window 32x32 in size. 
It is black with opaque set to 0 (fully transparent when compositor is 
enabled). All of these container windows are stacked below all windows, so 
normally you can't see them. On creation all container windows are created in 
top-left corner. When user clicks on the tray icon, container window is moved 
to the click location (to handle events correctly).
  On KWin restart all windows are shuffled, usually KWin is able to restore 
ordering correctly, but for some reason not it this case. As a result 
black/transparent container windows are stacked above all other windows and 
panels.
  To solve that, on KWin restart, XembedSNIProxy needs to iterate over all 
known container windows and stack them below again.
  
  BUG: 357443

TEST PLAN
  1. [Optional] Disable compositor - with disable container window is
  
  black and easier to spot
  
  2. Run applcaiton with XEmbed system tray icon, do not click on the icon
  3. Restart KWin
  
  a) Before: black/transparent rectangle in the top-left corner, reacts to
  mouse click
  b) After: no rectangle, mouse clicks work as expected

REPOSITORY
  R120 Plasma Workspace

BRANCH
  master

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

AFFECTED FILES
  xembed-sni-proxy/fdoselectionmanager.cpp
  xembed-sni-proxy/sniproxy.cpp
  xembed-sni-proxy/sniproxy.h

To: kmaterka, #plasma_workspaces, #plasma, davidedmundson
Cc: plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, fbampaloukas, GB_2, 
ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, sebas, apol, ahiemstra, mart

Reply via email to