Created by Sami Jaktholm and last modified
Get this branch:
bzr branch lp:~sjakthol/compiz/fix-776435
Only Sami Jaktholm can upload to this branch. If you are Sami Jaktholm please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Sami Jaktholm

Recent revisions

3765. By Sami Jaktholm

Bias the current viewport in addWindowSizeChanges.

If window is visible in the current viewport, use that viewport when
calculating geometries in addWindowSizeChanges. Otherwise the current method
is used.

This way visible windows are maximized in the current viewport.
However, offscreen windows won't jump back to the active viewport if window
maximizes by itself or addWindowSizeChanges is called for some other reason.

3764. By Sam Spilsbury

Remove redundant src/logmessage/include/core/logmessage.h

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

Approved by PS Jenkins bot, Sam Spilsbury.

3763. By Sam Spilsbury

Don't add the frame to the toplevel stack if it hasn't been created yet.

In the event that a window is unreparented or destroyed, we usually need
to add its frame window to the toplevel window stack until the time at
which we recieve a DestroyNotify for it, as there may be incoming
ConfigureNotify events puporting to stack other windows relative to
that frame.

However, this does not apply in the case where we have not yet received
a CreateNotify for the frame window. In that case, it is not possible
for any stacking requests to be made relative to this window, so it
does not need to be added immediately. Instead, we can add it at the
time that we recieve a CreateNotify for it as a regular override
redirect window until the time that it is later destroyed.

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

Approved by PS Jenkins bot, MC Return.

3762. By Brandon Schaefer

If we receive a stateNotifyChange, we check if we are in a max state. If so, overwrite the xwc with either X | W, or Y | H depending on the semi max state with the orig position before we went into a semi max state. This way when we leave any sort of max state the orig position is restored.

If the window is being grabbed we do not overwrite the position, which it gets its own value at that point (instead of the orig pos). Fixes: https://bugs.launchpad.net/bugs/892012.

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

3761. By Andrea Azzarone

Update window geo only on new decoration size only if mapped.

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

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

3760. By Sam Spilsbury

Port to new gmock. Disable some faling tests because of weird leaks. Fixes: https://bugs.launchpad.net/bugs/1185265.

Approved by PS Jenkins bot, Brandon Schaefer.

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 */"
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:

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.

Branch metadata

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