Bug 5276 - Drawing happens in the wrong place after moving redirected window
Summary: Drawing happens in the wrong place after moving redirected window
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-12-08 07:50 UTC by Søren Sandmann Pedersen
Modified: 2007-11-17 18:33 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
The test program (3.70 KB, text/plain)
2005-12-08 07:54 UTC, Søren Sandmann Pedersen
no flags Details
Proposed fix (1.09 KB, patch)
2006-01-07 09:21 UTC, Søren Sandmann Pedersen
no flags Details | Splinter Review
Different fix, from Keith Packard (1.35 KB, patch)
2006-03-15 09:50 UTC, Søren Sandmann Pedersen
no flags Details | Splinter Review

Description Søren Sandmann Pedersen 2005-12-08 07:50:40 UTC
Suppose a redirected window is completely covered by a non-redirected one. After
moving the redirected window, drawing to it happens in the wrong place. I once
traced this to borderClip not getting updated correctly, but I have since
forgotten the details.

The test program I'll attach demonstrates this bug.
Comment 1 Søren Sandmann Pedersen 2005-12-08 07:54:11 UTC
Created attachment 4038 [details]
The test program
Comment 2 Søren Sandmann Pedersen 2006-01-07 09:21:12 UTC
Created attachment 4269 [details] [review]
Proposed fix

This patch fixes the bug for me (and includes the patch for bug 5274).
The problem is that the borderClip doesn't get updated when the window
is FullyObscured, which is incorrect when the window is redirected.
Comment 3 Adam Jackson 2006-01-14 10:12:13 UTC
fbbits.h: In function 'fbPolySegment32':
fbbits.h:832: warning: 'bits' is used uninitialized in this function
fbbits.h: In function 'fbPolySegment24':
fbbits.h:832: warning: 'bits' is used uninitialized in this function
fbbits.h: In function 'fbPolySegment16':
fbbits.h:832: warning: 'bits' is used uninitialized in this function
fbbits.h: In function 'fbPolySegment8':
fbbits.h:832: warning: 'bits' is used uninitialized in this function

bits is first used as the target of a +=.
Comment 4 Adam Jackson 2006-01-14 10:13:01 UTC
bah, paste-o.
Comment 5 Søren Sandmann Pedersen 2006-03-15 09:50:07 UTC
Created attachment 4944 [details] [review]
Different fix, from Keith Packard
Comment 6 Daniel Stone 2007-02-27 01:29:16 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 7 Adam Jackson 2007-11-17 18:33:15 UTC
The second patch here looks like it's been applied.  Closing.


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.