The surface before conversion can be either LE or BE on a BE machine. Check against both BE and LE color order on BE machine. --- Changes since v3: - Removed alpha clearing - The change actually broke alpha - Added dual color order checking - On BE machines it can be both ARGB and RGBA Changes since v2: - Added macro for proper alpha clearing - Improved commit msg Changes since v1: - New commit --- common/canvas_base.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/canvas_base.c b/common/canvas_base.c index cc87f55..937506c 100644 --- a/common/canvas_base.c +++ b/common/canvas_base.c @@ -1271,6 +1271,9 @@ static pixman_image_t *canvas_get_image_internal(CanvasBase *canvas, SpiceImage /* On BE machines, we want to explicitly convert the surface all the time */ wanted_format = canvas_get_target_format(canvas, +#ifdef WORDS_BIGENDIAN + surface_format == PIXMAN_b8g8r8a8 || +#endif surface_format == PIXMAN_a8r8g8b8); if (surface_format != wanted_format) { -- 2.5.0 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel