lp:~azzar1/compiz/fix-1198000

Created by Andrea Azzarone and last modified
Get this branch:
bzr branch lp:~azzar1/compiz/fix-1198000
Only Andrea Azzarone can upload to this branch. If you are Andrea Azzarone please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Andrea Azzarone
Project:
Compiz
Status:
Merged

Recent revisions

3760. By Andrea Azzarone

Fix bug 1198000.

3759. By MC Return

Thumbnail, cleanup:

Merged if condition checks.
Declaration of variables when they are needed (C++ style).
Removed redundant brackets.
Removed useless "/* Could someone please explain how this works */"
comment.
Removed extern const unsigned short TEXT_DISTANCE, because this
variable does not exist anymore (value is configurable already).
Changed if (something > 0.0) to if (something), 10 times.
Changed pointedWin = 0; to pointedWin = NULL;.
Used centerX () and centerY () abstractions from
compiz::window::Geometry to determine the icon center coordinates.
Added and removed newlines, if appropriate.
Fixed indentation.

Thumbnail, code speedup:

Return ASAP, do not calculate stuff you might not need.
No need for WIN_W (w) and WIN_H (w) macros, removed those and
replaced them with the local variables int winWidth, int winHeight,
int dockWidth and int dockHeight.
No need for WIN_X (w) and WIN_Y (w) macros, replaced those with
int dockX and int dockY.
Introduced int tHeight = thumb.height;, int tWidth = thumb.width;,
int halfTWidth = tWidth / 2; and int halfTHeight =
tHeight / 2; and used those variables in the following calculations.
Use igMidPoint[0] and igMidPoint[1] as arguments in the
screen->outputDeviceForPoint (arg1, arg2) function, instead of re-
calculating the arguments again.

Thumbnail, GL speedup:

Introduced
GLfloat wxPlusWidth = wx + width;,
GLfloat wyPlusHeight = wy + height;,
GLfloat wxPlusWPlusOff = wxPlusWidth + off;,
GLfloat wyPlusHPlusOff = wyPlusHeight + off;,
GLfloat wxMinusOff = wx - off; and
GLfloat wyMinusOff = wy - off;
and used those coordinates in the vertexData arrays. No need to re-
calculate those values multiple times.
Just query optionGetShowDelay () once and use int showDelay later.
We just enable blending if it is currently disabled and disable
blending only, if it was disabled before.

Approved by PS Jenkins bot, MC Return, Sami Jaktholm, Sam Spilsbury.

3758. By Sami Jaktholm

Port dbus introspection to compiz 0.9.
- move xml creation to a separate class (IntrospectionResponse) for easier
  memory management (allocate buffer and writer in ctor, free in dtor).
- move duplicated response sending code to a separate method that takes
  IntrospectionResponse and sends the resulting xml.
- Refactor handle*IntrospectMessage to work with compiz 0.9 interfaces.

This also fixes the broken list method which was a result of logic error. The
code to invoke list handler was never reached.

This fixes most of the issues noted in bug 749084. Fixes: https://bugs.launchpad.net/bugs/749084.

Approved by PS Jenkins bot, MC Return.

3757. By Sami Jaktholm

Expo: Cast denominators of integer divisions to floats before performing a
      matrix translation to viewports with the results. Otherwise rounding
      errors in cases the results are not an integers cause the viewports to
      be painted offscreen. Fixes: https://bugs.launchpad.net/bugs/438580.

Approved by PS Jenkins bot, MC Return.

3756. By Michail Bitzes

Plugin wizard ported to OpenGL|ES.

Use GLVertexBuffer.
Enable building for GLES. Enable architectures armel and armhf.

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

Approved by PS Jenkins bot, MC Return.

3755. By Sami Jaktholm

Expo plugin:
1) Always fetch the dndButton action in dndFini.

   The action given to dndFini might be a key or edge binding action if expo
   was terminated during window DnD. We shouldn't set their state to
   CompAction::StateInitButton or the bindings break.

2) Pass NULL action to termExpo if invoked from handleEvent

   Previously we passed the action of expoKey to termExpo which in turn passed
   it to dndFini. DndFini changed the action state to
   CompAction::StateInitButton that broke the keybinding.

   Now that dndFini fetches the dndButton action itself, there's no need to
   fetch it in handleEvent too as dndFini is the only one using the action. Fixes: https://bugs.launchpad.net/bugs/1131106.

Approved by PS Jenkins bot, MC Return.

3754. By Sam Spilsbury

Add a simple script for making releases.

Approved by MC Return, PS Jenkins bot.

3753. By MC Return

CCSM:
Fixed vertical alignment of the text on the stylized keys.
(Shift, Super, Ctrl, Alt)

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

Approved by Brandon Schaefer, PS Jenkins bot.

3752. By MC Return

Fixed broken text in all plugins (missing COMPIZ_TEXT_ABI).
(LP: #1196493). Fixes: https://bugs.launchpad.net/bugs/1196493.

Approved by Brandon Schaefer, PS Jenkins bot.

3751. By Sam Spilsbury

Unrevert 3728, fix failing tests.

Change the behaviour of undecorating windows.

Previously when a window was undecorated, we would shift it back to an appropriate position according to its gravity member. That behaviour was problematic because in the StaticGravity case the window has to just stay in the same place. But then if you had a window with StaticGravity which then did get a decoration and later removed it, it would be placed as though it was decorated and appear to be in the wrong place.

The correct behaviour is to place all windows as though they have decorations, and then when decorations are removed, to move the window back to the corner as indicated in its gravity and then expand its size to cover the obscured regions no longer hidden because the decorations went away.

(LP: #1165343).

  1. Completely remove decorOffsetMove and other related code from
     decor.cpp. Put the logic to handle the window->input () - window->border ()
     placement offset inside of setWindowFrameExtents instead. Now the window
     will always be offset from its original non-decorated position to the new
     decorated position, rather than having to guess between decoration sizes.
  2. Make saveGeometry and restoreGeometry work relative to window->border ()
     as opposed to including it in the saved geometry. It is possible that the
     border size might change during maximization, as such, we don't want to
     save the position with the border before maximizing. Instead save the position
     as if it were never decorated so that when the window is restored it can be
     restored to its original position and then adjusted for its new border size.
  3. Fix a few typoes in the tests.
  4. Moved some commonly used matchers into compiz::testing
  5. Make COMPIZ_PLUGIN_DIR accept multiple directories and look in each one
     of them for the plugin
  6. Set COMPIZ_PLUGIN_DIR appropriately for each plugin that we wish to load
     on startup so that we load locally built plugins as opposed to installed
     ones.
  7. Uncomment compiz_discover_tests for the acceptance tests. Now they are
     run by default.

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

Approved by PS Jenkins bot, MC Return, Brandon Schaefer.

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

Subscribers