2610b1cdea
Don't break grab and focus state for a window when redirecting it. Composite uses an unmap/map cycle to trigger backing pixmap allocation and cliprect recomputation when a window is redirected or unredirected. To avoid protocol visible side effects, map and unmap events are disabled temporarily. However, when a window is unmapped it is also removed from grabs and loses focus, but these state changes are not disabled. This change supresses the unmap side effects during the composite unmap/map cycle and fixes a bug where a compositing window manager would cause the screensaver to lose its grab when it unredirects the fullscreen lock window. |
||
---|---|---|
.. | ||
atom.c | ||
buildatoms | ||
BuiltInAtoms | ||
CHANGES | ||
colormap.c | ||
cursor.c | ||
devices.c | ||
dispatch.c | ||
dispatch.h | ||
dixfonts.c | ||
dixutils.c | ||
events.c | ||
extension.c | ||
ffs.c | ||
gc.c | ||
getevents.c | ||
globals.c | ||
glyphcurs.c | ||
grabs.c | ||
initatoms.c | ||
main.c | ||
Makefile.am | ||
Makefile.in | ||
pixmap.c | ||
privates.c | ||
property.c | ||
resource.c | ||
strcasecmp.c | ||
swaprep.c | ||
swapreq.c | ||
tables.c | ||
window.c | ||
xpstubs.c | ||
Xserver-dtrace.h.in | ||
Xserver.d |