lp:~vanvugt/compiz/fix-1014986

Created by Daniel van Vugt and last modified
Get this branch:
bzr branch lp:~vanvugt/compiz/fix-1014986
Only Daniel van Vugt can upload to this branch. If you are Daniel van Vugt please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Daniel van Vugt
Project:
Compiz
Status:
Merged

Recent revisions

3322. By Daniel van Vugt

Don't waste CPU looping through and looking at all the windows if you're
rendering an output that has no damage on it. (LP: #1014986)

3321. By Daniel van Vugt

Draft first 0.9.8.0 NEWS and bump VERSION
. Fixes: . Approved by Daniel van Vugt, Sam Spilsbury.

3320. By Daniel van Vugt

This branch contains the code to make compiz work on GLES. This includes
several changes to the compiz API.

* GLVertexBuffer class added for managing vertices, normals, texture
  coordinates, and colors
* GLProgram class added for managing GLSL programs
* GLProgramCache class added for managing per-plugin GLSL programs
  efficiently, uses an LRU cache to avoid recompiling recently used GLSL
  programs all the time
* GLShaderCache class added for managing dynamically created shader source
  code.
* GLFragment class removed as fragment programs are no longer used (replaced
  with GLSL programs)
* EGL context setup added
* EglTexture class added to use EGL_image extension instead of
  GLX_EXT_texture_from_pixmap for GLES. Fixes: https://bugs.launchpad.net/bugs/201342, https://bugs.launchpad.net/bugs/901097, https://bugs.launchpad.net/bugs/1004251, https://bugs.launchpad.net/bugs/1037710. Approved by Daniel van Vugt, Sam Spilsbury.

3319. By Sam Spilsbury

GSettings integration backend, created a testsuite for it.

This commit refactors a bunch of the backend code, adds appropriate testsuites
and refactors the integration code to make it more flexible.

 * Integration is now an actual object, backends can communicate through
   instantiation of something that implements CCSIntegration, usually by also
   injection CCSIntegratedSettingFactory and CCSIntegratedSettingStorage.
   (For example, the GNOME Integration backend is configuration system
   agonistic, it uses CCSIntegratedSettingFactory to defer the construction
   of CCSIntegratedSetting objects which handle get/set operations until
   runtime).
 * Backends are now first-class objects too, CCSDynamicBackend implements
   CCSBackend and wraps it so that client code can safely call the functions
   without having to worry about null pointers
 * The GSettings backend is now also a first-class object, with most of its
   logic moved into its own class
 * Introduced a conformance test for backends, found in
   compizconfig/tests/compizconfig_backend_conformance_test.h . This is a
   templated test that can be instantied for any CCSBackend provided it also
   has a CCSBackendTestingEnvironment to go with it (this is used to
   read/write raw keys bypassing the backend). This code is itself tested
   against a mock backend and is used to test the GSettings backend itself
   by loading it into memory and running through its functionality
 * Increased test coverage in general for the GSettings backend through our
   existing testsuite, we're now at about 93% coverage for the backend
   itself (There is no test coverage for the integration code,
   but that is coming).
 * Fixed some runtime errors with the python tests.

(LP #1035261). Fixes: . Approved by Sam Spilsbury.

3318. By Sam Spilsbury

Detect if rsvg 2.36.2 is installed (LP: #1039843). Fixes: https://bugs.launchpad.net/bugs/1039843. Approved by Sam Spilsbury.

3317. By Sam Spilsbury

Fix some memory management issues on the mock objects, namely:
 * Make destructor functions virtual where appropriate, so that we can add them to lists polymorphically
 * Support polymorphic ccs*Unref function

Also make some other neccessary changes to libcompizconfig

 * Comparison of bool values in lists must be done through boolean operators
 * expose the definition of ccsCopyList, other programs will need it.. Fixes: . Approved by .

3316. By Sam Spilsbury

Adds some docstring warnings about using those classes directly.. Fixes: . Approved by Thomi Richards.

3315. By Sam Spilsbury

Explicitly depend on resize-options. Fixes: https://bugs.launchpad.net/bugs/1039834. Approved by Daniel van Vugt.

3314. By Daniel d'Andrada

Maximize vertically if pointer reaches top or bottom edges.

For now there's no animation. That will be done later once the new designs for resizing and half/full screen maximizations (grid plugin) are implemented.

Includes a refactoring to make to make the code testable and another that splits a huge method into smaller functions.. Fixes: . Approved by Sam Spilsbury.

3313. By Timo Jyrinki

Additional keys from metacity to convert to GSettings. Sources from /usr/share/gnome-control-center/keybindings/50-compiz-* (except for show hud which is in unity), targets from lp:~didrocks/compiz/g-c-c-integration.. Fixes: . Approved by Sam Spilsbury, Daniel van Vugt.

Branch metadata

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

Subscribers