Potential race condition where X commands haven't finished processing when we bind a texture and generate mipmaps
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| Compiz |
Fix Released
|
High
|
Sam Spilsbury | ||
| Compiz Core |
Incomplete
|
Undecided
|
Unassigned | ||
| compiz (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bug Description
There's a potential race condition in this code:
(*GL::
(*GL::
If there are changes to the pixmap, or if pixmap goes away in between those calls, then the resultant call will be invalid. We should instead grab the server, get the pixmap, wait for the server and then attempt to bind it. That wil also guaruntee tear-free pixmap binds.
Related branches
- Daniel van Vugt: Approve
-
Diff: 77 lines (+22/-6) 2 files modifiedapiplugins/opengl/src/privatetexture.h (+2/-0)
plugins/opengl/src/texture.cpp (+20/-6)
- Daniel van Vugt: Disapprove
-
Diff: 77 lines (+22/-6) 2 files modifiedapiplugins/opengl/src/privatetexture.h (+2/-0)
plugins/opengl/src/texture.cpp (+20/-6)
This bug was fixed in the package compiz - 1:0.9.8.0-0ubuntu1
---------------
compiz (1:0.9.
* debian/control, debian/rules:
- enable gles on armel and armhf
- use dh-translations rather than custom code
[ Sam Spilsbury ]
* Enable OpenGL ES building
- Refresh debian/
- Remove non-ported plugins from compiz-plugins
- Add FindOpenGLES2.cmake to compiz-dev
[ Timo Jyrinki ]
* New upstream release.
- Code to make compiz work on GLES. This includes several changes
to the compiz API. (LP: #201342) (LP: #901097) (LP: #1004251)
(LP: #1037710)
- Draft first 0.9.8.0 NEWS and bump VERSION
* debian/
- Remove, obsoleted by the upstream GLES work
* Disable plugins that don't work on pure GLES on armhf/armel:
- bench, firepaint, mblur, showmouse, splash, showrepaint, td, widget
-- Sebastien Bacher <email address hidden> 2012年8月31日 22:59:50 +0200