mirror of
https://github.com/brl/mutter.git
synced 2024-11-12 17:27:03 -05:00
meta-surface-actor: Fix is_argb32 for unredirected windows
meta_surface_actor_is_argb32 assumes that lack of stex means that a window is ARGB32. When we unredirect a window we detach the texture so we end up without a texture. Given that should_unredirect returns FALSE when a window is argb32, we know that this window is indeed not ARGB32. Returing TRUE in that case causes us to flip between redirected and unredirected on every paint. So fix that by returning FALSE in that case.
This commit is contained in:
parent
e822e51752
commit
3a8bad1e6f
@ -280,9 +280,15 @@ meta_surface_actor_is_argb32 (MetaSurfaceActor *self)
|
||||
CoglTexture *texture = meta_shaped_texture_get_texture (stex);
|
||||
|
||||
/* If we don't have a texture, like during initialization, assume
|
||||
* that we're ARGB32. */
|
||||
* that we're ARGB32.
|
||||
*
|
||||
* If we are unredirected and we have no texture assume that we are
|
||||
* not ARGB32 otherwise we wouldn't be unredirected in the first
|
||||
* place. This prevents us from continually redirecting and
|
||||
* unredirecting on every paint.
|
||||
*/
|
||||
if (!texture)
|
||||
return TRUE;
|
||||
return !meta_surface_actor_is_unredirected (self);
|
||||
|
||||
switch (cogl_texture_get_components (texture))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user