Capture all windows for "Window under cursor"

Authored by Lekensteyn on Oct 11 2016, 2:10 AM.

Description

Capture all windows for "Window under cursor"

Capture the correct area, not just the top-left one (bug 369330).
Capture all possible related windows, not just the top-level (or the
non-transient background window), this will correctly capture whole
applications including the open menus (bug 357223).

The last change also affects how windows with other overlapping ones are
captured, previously the hidden area is shown as if there was no popup.
For example, Kate would be captured and not its Open dialog.

Tested with Kate (Qt 5): Open File -> Add Places Entry -> Select Icon.
Verify that clicking all of these menus show the same screenshot and
that the non-overlapping parts are shown. Right-click to open a context
menu, this is also captured on the delayed screenshot.

Tested with heimdall-frontend and Hedgewars (Qt 4): open a menu, keep
the cursor on it. Verify that the menu and window are captured. Do the
same, but with the cursor outside the menu.

REVIEW: 129163
BUG: 357223
BUG: 369330
FIXED-IN: 16.12

Details

Committed
LekensteynOct 13 2016, 12:12 AM
Parents
R166:e4c2e564a5b9: Replace KScreen by QScreen for current window grab
Branches
Unknown
Tags
Unknown