Composite and bit gravity
Soeren Sandmann
sandmann at daimi.au.dk
Fri Nov 12 14:46:38 PST 2004
When a redirected window is resized, a new pixmap is allocated, but
currently the old bits are not copied to the new pixmap until they are
needed by CopyWindow. This breaks bit gravity, which at least GTK+,
and I'd assume other toolkits, rely on. The pixels are simply not
there when the gravity code runs.
The attached patch fixes this by copying the pixels immediately.
Another fix might be to somehow make the gravity code read the old
pixels, but I think that would be more complicated. We can do this
later if/when pixel copying becomes a bottleneck.
And
% diffstat gravity.patch
compalloc.c | 26 ++++++++++++++++++++-
compint.h | 1
compwindow.c | 70 ----------------------------------------------------------- 3 files
changed, 25 insertions(+), 72 deletions(-)
is always nice.
Søren
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gravity.patch
Type: text/x-patch
Size: 5032 bytes
Desc: Patch
URL: <http://lists.x.org/archives/xorg/attachments/20041112/da4fcfd7/attachment.bin>
More information about the xorg
mailing list