lp:~sil2100/compiz-core/fglrx_decor_fix

Created by Łukasz Zemczak and last modified
Get this branch:
bzr branch lp:~sil2100/compiz-core/fglrx_decor_fix
Only Łukasz Zemczak can upload to this branch. If you are Łukasz Zemczak please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Łukasz Zemczak
Project:
Compiz Core
Status:
Development

Recent revisions

3093. By Łukasz Zemczak

Excplicitly unbind the texture before rebinding - this removes the createDrawable errors.
Also, change error reporting - since bindTexture () can fail non-erroneously when the Pixmap gets invalidated (i.e. during a resize).

3092. By Łukasz Zemczak

Readding XGrabServer, since the Pixmap might get invalidated. But added also XSync - as noted by Sam, XGrabServer might not be enough!

3091. By Łukasz Zemczak

Actually, we don't need to grab the X server here. Unnecessary.

3090. By Łukasz Zemczak

Rebind decorator texture on damage event - workaround for fglrx bug in decor.

fglrx doesn't seem to propagate properly changes from Pixmap to GLXPixmap. For redraws to work, we need to rebind the texture again on each damage event. A dirty workaround, but fixes LP: #770283.

3089. By Sam Spilsbury

Fix shadows being clipped incorrectly (LP #976467)

1) Don't include _NET_WM_WINDOW_TYPE_MENU windows in the clip groups ...
   those windows are a lot different from what you expect of them
2) Also update clip regions when the shadow output extents change even
   if the window isn't resized.

3088. By Daniel van Vugt

Bump version to 0.9.7.7 while in between releases.

3087. By Sam Spilsbury

Release 0.9.7.6

3086. By Sam Spilsbury

Remove DecorWindow::computeShadowRegion and replace with a smarter class.
(LP: #969101)

DecorClipGroup (split into GenericDecorClipGroup and MatchedDecorClipGroup)
take a DecorClippableInterface which where entry and exit from the group is
guarded by the implementation and are treated as one layer for the purposes
of shadowing - eg the input region of each member of the clip group will clip
all of the shadows of the members, so that none of the members appear to be
overlapping.

This algorithm is a lot more optimized in that the shadows are only updated
when relevant windows are updated.

Tested too.

3085. By Sam Spilsbury

Stab in the dark (a possible but unconfirmed fix for LP: #940603)

I think whats going on for bug 940603 is that windows aren't being removed
from the window list if they are unreparented by the application itself in
very special circumstances (not sure what because I can't reproduce the bug).

This code adds some more sound checks to see where the window is going and
destroys it based on that, rather than using the same logic for both
reparented and unreparented windows.

Also removed the whole destroyedFrameWindows tracking code which was more or
ineffectual and could potentially result in a frame window leak.

3084. By Sam Spilsbury

Use gtest_add_tests and format the code so that it picks them up

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:compiz-core
This branch contains Public information 
Everyone can see this information.

Subscribers