lp:~mc-return/compiz/compiz.merge-fix773564-inotify-infinite-loop

Created by MC Return and last modified
Get this branch:
bzr branch lp:~mc-return/compiz/compiz.merge-fix773564-inotify-infinite-loop
Only MC Return can upload to this branch. If you are MC Return please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
MC Return
Project:
Compiz
Status:
Merged

Recent revisions

3621. By serveralex

Fixed infinite loop in InotifyScreen::processEvents ()
wIter needs to be increased here

3620. By danilo

Fixed missing icons and text in CCSM main screen.
Credits for this fix go to danilo, thanks a lot !

(LP: #1130941). Fixes: https://bugs.launchpad.net/bugs/1130941.

Approved by Sam Spilsbury.

3619. By Sam Spilsbury

Fix startup issues

Amalgamated changes:

0. Re-set the setting parents correctly after an upgrade
1. Move the backend loading and config file handling code into separate objects, we need to inject them by interface in order to isolate CCSContextDefaultImpl for testing
2. Add the ccp plugin to "initialPlugins" rather than setting the option directly, that never worked.
3. Added some framework to force-import any profile available in the system config dirs and not reported as existing by the backing. This is so that we have a guaruntee that we will get its values
4. Bail out correctly when a schema couldn't be found

(LP: #1130679). Fixes: https://bugs.launchpad.net/bugs/1130679.

Approved by Brandon Schaefer, PS Jenkins bot, Ɓukasz Zemczak.

3618. By Sam Spilsbury

Redesign the optional pixmap deletion protocol to make the consumer responsible for deleting the pixmaps.

The previous optional protocol had the consumer send a message back to the producer when a pixmap was ready to be deleted, and then the producer would take it from its pool of pixmaps marked for deletion and delete it there. That protocol did not really work out in practise though, because of a race condition where the consumer would never become aware of a new pixmap (because the new pixmap value was read synchronously instead of delivered asynchronously) and then that pixmap would just sit there in the consumer's memory and never be deleted. The new optional protocol makes the consumer responsible for freeing the pixmap once the producer has marked it ready for deletion. That way the consumer can keep on using the pixmap until it needs to delete it. This is important on drivers that use loose binding, because the texture contents are undefined as soon as the pixmap is freed on the server side.

In order to represent that, there were a few new objects added. The first is a "communicator" object which handles all of the requests that come from the decorator through ClientMessage events and dispatch to the right place. The next are the individual message handlers, which determine whether or not the pixmap can be deleted immediately or if it should go into the pixmap release pool. The final is the release pool, which stores in-use pixmaps in a list which can then be marked for deletion when the texture they are bound to goes away.

Unit and Integration tests were added to demonstrate the code and protocol behaviour.

(LP: #1119608). Fixes: https://bugs.launchpad.net/bugs/1119608.

Approved by Brandon Schaefer, PS Jenkins bot.

3617. By Sam Spilsbury

Enable copytex by default and stick the upgrades in the right place

(LP: #1130160). Fixes: https://bugs.launchpad.net/bugs/1130160.

Approved by Michael Terry.

3616. By Sam Spilsbury

Make sure to update the frame extents when clients ask us to (LP: #1110138). Fixes: https://bugs.launchpad.net/bugs/1110138.

Approved by Andrea Azzarone, PS Jenkins bot, MC Return.

3615. By Michael Terry

Fix order of some manually-entered changelog entries.

Approved by Didier Roche.

3614. By MC Return

Changed snprintf type from %d to %u, because i is of type unsigned int.

Approved by Sam Spilsbury.

3613. By PS Jenkins bot

Releasing 1:0.9.9~daily13.02.19-0ubuntu1 to ubuntu.

Approved by PS Jenkins bot.

3612. By Sam Spilsbury

Enable xorg-gtest tests by default and build in CI.

This change also refactors a number of parts of the code to find and build the tests. It puts the logic to find Google Test and Xorg GTest in their own cmake files, and also splits the find logic with the build logic. Finally, it makes the xorg-gtest variables available to all subdirectories and not just the ones under tests/.

This change also refreshes some distro patches. A new option was added to not auto-load the ccp plugin, and also modifies one of the tests depending on a modified setting value.

(LP: #1120009). Fixes: https://bugs.launchpad.net/bugs/1120009.

Approved by Sam Spilsbury, Andrea Azzarone.

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.9
This branch contains Public information 
Everyone can see this information.

Subscribers