Bug 1788

Summary: Redirected windows damaged on move
Product: xorg Reporter: Owen Taylor <otaylor>
Component: Server/GeneralAssignee: Keith Packard <keithp>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: high    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Non-working attempt at a fix none

Description Owen Taylor 2004-11-05 20:17:15 UTC
When you move a window redirected via the Composite extension, the
entire window is reported as damaged.

This happens because:

 compMoveWindow calls
 miMoveWindow calls
 compCopyWindow

Which was apparently written for the resizing case not the moving case;
in the case where cw->pOldPixmap is NULL, it falls through to the
non-redirected case. Not immediately clear how to fix to; perhaps
pScreen->CopyWindow needs to be temporarily redirected before calling
miMoveWindow or something.
Comment 1 Owen Taylor 2004-11-12 14:54:40 UTC
I did some experiments with removing the DamageDamageRegion call in
compositeCopyWindow, and it doesn't quite work - the builtin compositor
doesn't properly recompose the moved window onto the parent window.

(I turned out not to have a working real kdrive based server on the
system, so I was doing testing with Xfake and lightpipe redirecting
the root window to my main display. So all testing results should
be taken with a big grain of salt.)

I'll attach a version of my patch where I tried calling DamageDamageRegion
on the parent window... that didn't help, but perhaps is closer to the
right fix.



Comment 2 Owen Taylor 2004-11-12 14:55:11 UTC
Created attachment 1299 [details] [review]
Non-working attempt at a fix
Comment 3 Michel Dänzer 2008-02-26 02:13:30 UTC

*** This bug has been marked as a duplicate of bug 5275 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.