Merge lp:~sil2100/compiz/fix_ftbfs_arm_boost into lp:compiz/0.9.9

Proposed by Łukasz Zemczak
Status: Merged
Approved by: Sam Spilsbury
Approved revision: 3467
Merged at revision: 3467
Proposed branch: lp:~sil2100/compiz/fix_ftbfs_arm_boost
Merge into: lp:compiz/0.9.9
Diff against target: 39 lines (+4/-4)
1 file modified
plugins/opengl/src/screen.cpp (+4/-4)
To merge this branch: bzr merge lp:~sil2100/compiz/fix_ftbfs_arm_boost
Reviewer Review Type Date Requested Status
Sam Spilsbury Approve
PS Jenkins bot continuous-integration Pending
Compiz Maintainers Pending
Review via email: mp+134079@code.launchpad.net

Commit message

Invalid parameter type for EGL function. Fix boost bind function madness for EGL. All these essentially should fix a FTBFS for arm*.

Description of the change

Please, if someone could check this and make sure it's done correctly!

- Problem:

Build failures for ARM (and other GLES configurations) since revision 3462 (http://bazaar.launchpad.net/~compiz-team/compiz/0.9.9/revision/3462). Boost issues and the like.

- Fix:

The GLES bind function handle requires an additional Display parameter. I tried adding it by intuition. There was also one signed -> unsigned type mismatch.

- Tests:

N/A

To post a comment you must log in.
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

I was going to mention changing the boost::function signature in GLDoubleBuffer, but then I remembered that we didn't want to introduce a dependency on Display * within GLDoubleBuffer and DoubleBuffer generally, so passing it as a non-variable parameter to fufill the bound function signature is perfectly fine.

It is tested btw, by the DoubleBuffer tests :)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/opengl/src/screen.cpp'
2--- plugins/opengl/src/screen.cpp 2012-11-08 09:29:42 +0000
3+++ plugins/opengl/src/screen.cpp 2012-11-13 11:38:40 +0000
4@@ -281,7 +281,7 @@
5 {
6 namespace opengl
7 {
8-void swapIntervalGLX (int interval)
9+void swapIntervalGLX (Display *d, int interval)
10 {
11 // Docs: http://www.opengl.org/registry/specs/SGI/swap_control.txt
12 if (GL::swapInterval)
13@@ -324,7 +324,7 @@
14
15 int waitVSyncEGL (int wait,
16 int remainder,
17- int *count)
18+ unsigned int *count)
19 {
20 /* not supported */
21 return 0;
22@@ -1795,7 +1795,7 @@
23 const CompSize &s,
24 Window output) :
25 GLDoubleBuffer (d, s,
26- boost::bind (compiz::opengl::swapIntervalGLX, _1),
27+ boost::bind (compiz::opengl::swapIntervalGLX, d, _1),
28 boost::bind (compiz::opengl::waitVSyncGLX, _1, _2, _3)),
29 mOutput (output)
30 {
31@@ -1872,7 +1872,7 @@
32 const CompSize &s,
33 EGLSurface const &surface) :
34 GLDoubleBuffer (d, s,
35- boost::bind (compiz::opengl::swapIntervalEGL, _1),
36+ boost::bind (compiz::opengl::swapIntervalEGL, d, _1),
37 boost::bind (compiz::opengl::waitVSyncEGL, _1, _2, _3)),
38 mSurface (surface)
39 {

Subscribers

People subscribed via source and target branches