lp://staging/~compiz-team/compiz/compiz.ccs_test_990690

Created by Sam Spilsbury and last modified
Get this branch:
bzr branch lp://staging/~compiz-team/compiz/compiz.ccs_test_990690
Members of Compiz Maintainers can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Compiz Maintainers
Project:
Compiz
Status:
Merged

Recent revisions

3264. By Sam Spilsbury

GSettings API support

3263. By Sam Spilsbury

Don't initialize through NULL

3262. By Sam Spilsbury

Do the initial work to get libcompizconfig under test. (LP: #990690)

libcompizconfig underwent some fairly large refactorings so that we could
get it under test. This includes moving all of the public data in the public
API structs into private structs and creating accessor functions for all of
that data. The accessor functions are wrappers around interface structures which
can be replaced at runtime for testing purposes.

A C based object system was added to make this possible:

This branch introduces some preliminary work in a series of branches to get libcompizconfig under test. In order to test the objects properly, we need to abstract away their interfaces$

This would be awkward to do correctly if we didn't have a suitable object system to handle interface implementation, referencing, private storage etc.

As such, a new struct CCSObject is introduced. It is similar in design to GObject, but with a much smaller feature set centered mostly around the handling of interfaces and composition$

Tests are included.

Basic mock classes for all of the public API were added for testing.

The gconf backend and compizconfig-python were adapted as necessary.

Merge in the following branches manually:

lp:~smspillaz/compiz-compizconfig-python/compiz-compizconfig-python.context-apilp:compiz-compizconfig-python
lp:~smspillaz/compiz-compizconfig-python/compiz-compizconfig-python.plugin-apilp:compiz-compizconfig-python
lp:~smspillaz/compiz-compizconfig-python/compiz-compizconfig-python.setting-apilp:compiz-compizconfig-python
lp:~smspillaz/compiz-compizconfig-gconf/compiz-compizconfig-gconf.adapt-to-new-interfaceslp:compiz-compizconfig-gconf
lp:~smspillaz/compiz-libcompizconfig/refactor-settinglp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/setting-funcs-behind-interfacelp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/context-mocklp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/plugin-mocklp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/setting-mocklp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/refactor-contextlp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/ccs-objectlp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/refactor-pluginlp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/context-funcs-behind-interfacelp:compiz-libcompizconfig
lp:~smspillaz/compiz-libcompizconfig/plugin-funcs-behind-interfacelp:compiz-libcompizconfig

3261. By Sam Spilsbury

Don't set decoration contexts on undecorated windows, since that might be
read later and code will assume the window is decorated when it isn't.
(LP: #1015593)

3260. By Alan Bell

makes compiz enhanced zoom and show mouse plugins considerably smoother to use
(LP: #930783)

3259. By Sam Spilsbury

Don't insert the window into the server list above the window it was
created above.

The server list might have been modified by the time that we process the
create event, and as such there is a case where a window can be inserted
into the server list above another window and not at the top (the default
for where windows are created) if that window is pending a restack.

When updateAttributes is called later, putting it above the correct window
will silently fail, because it is already there in the server list, even
though a restack was never issued to put it there.

(LP: #1008020) (LP: #886605)

3258. By Sam Spilsbury

Check if the window would actually paint before painting the shadow, since
it is possible that another plugin could be inhibiting paint of the dock
window. (LP: #1012956)

3257. By Daniel van Vugt

Add reliable detection of the compiz bin directory, which works even if
compiz is started without an explicit path (LP: #1015898)

3256. By Daniel van Vugt

Don't waste memory leaving /bin/sh running for the lifetime of the decorator.
(LP: #1015422)

3255. By Sam Spilsbury

Fixed: Crash in compiz::wall::movementWindowOnScreen (
const CompRect &serverBorderRect, const CompRegion &screenRegion) because we
were iterating a temporary CompRect::vector which went out of scope within
the for statement. (LP: #1015151)

Branch metadata

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