lp:~smspillaz/compiz-core/compiz-core.decor_dont_be_stupid

Created by Sam Spilsbury and last modified
Get this branch:
bzr branch lp:~smspillaz/compiz-core/compiz-core.decor_dont_be_stupid
Only Sam Spilsbury can upload to this branch. If you are Sam Spilsbury please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Sam Spilsbury
Project:
Compiz Core
Status:
Development

Recent revisions

3091. By Sam Spilsbury

Merge trunk

3090. By Sam Spilsbury

When checking to see if the window can be reparented into
we care about the input extents not the border extents.

3089. By Sam Spilsbury

Set the frame extents to 0,0,0,0 before updating the frame so that the
frame window is properly removed. Otherwise the frame window will be
implicitly destroyed by XDestroyWindow and set to None during unreparent
and we won't remove the reference to the input window because it looks
like the window is still reparented.

3088. By Sam Spilsbury

Check outputRect when deciding whether to ignore custom clip regions.

It was possible for menus for repaint regions to never cover shadowRegion
which would mean that we'd never pass the shadow clip rects to
glDrawGeometry.

In reality, we only really care about not using shadowRegion in cases
where some plugin wants to paint us with an offset region which is actually
outside the window.

Fixes LP#978900

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

3083. By Andrea Azzarone

Change the behavior of the option "On all output devices" such that windows
spread on the monitor on which they reside. (LP: #919139)

3082. By Alan Griffiths

Fix memory leak in dlloaderListPlugins (LP: #968985)

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