lp:~sil2100/compiz-core/fglrx_decor_fix
- Get this branch:
- bzr branch lp:~sil2100/compiz-core/fglrx_decor_fix
Branch merges
- Daniel van Vugt: Disapprove
- Alan Griffiths: Abstain
- Sam Spilsbury: Pending requested
-
Diff: 126 lines (+58/-20)2 files modifiedplugins/decor/src/decor.cpp (+56/-20)
plugins/decor/src/decor.h (+2/-0)
Branch information
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!
- 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. - 3086. By Sam Spilsbury
-
Remove DecorWindow:
:computeShadowR egion and replace with a smarter class.
(LP: #969101)DecorClipGroup (split into GenericDecorCli
pGroup and MatchedDecorCli pGroup)
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 destroyedFrameW
indows tracking code which was more or
ineffectual and could potentially result in a frame window leak.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:compiz-core