summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/canvas_base.c2
-rw-r--r--common/gl_canvas.c4
-rw-r--r--server/red_parse_qxl.c23
-rw-r--r--server/red_worker.c2
-rw-r--r--spice.proto2
-rw-r--r--spice1.proto2
6 files changed, 29 insertions, 6 deletions
diff --git a/common/canvas_base.c b/common/canvas_base.c
index 68ea1a67..debbd461 100644
--- a/common/canvas_base.c
+++ b/common/canvas_base.c
@@ -2518,7 +2518,7 @@ static void canvas_draw_opaque(SpiceCanvas *spice_canvas, SpiceRect *bbox, Spice
canvas_mask_pixman(canvas, &dest_region, &opaque->mask,
bbox->left, bbox->top);
- rop = ropd_descriptor_to_rop(opaque->rop_decriptor,
+ rop = ropd_descriptor_to_rop(opaque->rop_descriptor,
ROP_INPUT_BRUSH,
ROP_INPUT_SRC);
diff --git a/common/gl_canvas.c b/common/gl_canvas.c
index 2773edab..1fe08aee 100644
--- a/common/gl_canvas.c
+++ b/common/gl_canvas.c
@@ -389,7 +389,7 @@ static void gl_canvas_draw_opaque(SpiceCanvas *spice_canvas, SpiceRect *bbox, Sp
set_clip(canvas, bbox, clip);
set_mask(canvas, &opaque->mask, bbox->left, bbox->top);
- glc_set_op(canvas->glc, (opaque->rop_decriptor & SPICE_ROPD_INVERS_SRC) ? GLC_OP_COPY_INVERTED :
+ glc_set_op(canvas->glc, (opaque->rop_descriptor & SPICE_ROPD_INVERS_SRC) ? GLC_OP_COPY_INVERTED :
GLC_OP_COPY);
surface = canvas_get_image(&canvas->base, opaque->src_bitmap, FALSE);
surface_to_image(canvas, surface, &image, 0);
@@ -399,7 +399,7 @@ static void gl_canvas_draw_opaque(SpiceCanvas *spice_canvas, SpiceRect *bbox, Sp
pixman_image_unref(surface);
set_brush(canvas, &opaque->brush);
- set_op(canvas, opaque->rop_decriptor & ~SPICE_ROPD_INVERS_SRC);
+ set_op(canvas, opaque->rop_descriptor & ~SPICE_ROPD_INVERS_SRC);
SET_GLC_RECT(&fill_rect, bbox);
glc_fill_rect(canvas->glc, &fill_rect);
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c
index 7dad295b..0620fcb3 100644
--- a/server/red_parse_qxl.c
+++ b/server/red_parse_qxl.c
@@ -28,6 +28,17 @@ static void red_get_fill_ptr(RedMemSlotInfo *slots, int group_id,
red->mask = qxl->mask;
}
+static void red_get_opaque_ptr(RedMemSlotInfo *slots, int group_id,
+ SpiceOpaque *red, QXLOpaque *qxl)
+{
+ red->src_bitmap = qxl->src_bitmap;
+ red->src_area = qxl->src_area;
+ red->brush = qxl->brush;
+ red->rop_descriptor = qxl->rop_descriptor;
+ red->scale_mode = qxl->scale_mode;
+ red->mask = qxl->mask;
+}
+
static void red_get_alpha_blend_ptr(RedMemSlotInfo *slots, int group_id,
SpiceAlphaBlnd *red, QXLAlphaBlnd *qxl)
{
@@ -85,6 +96,9 @@ void red_get_drawable(RedMemSlotInfo *slots, int group_id,
case QXL_DRAW_FILL:
red_get_fill_ptr(slots, group_id, &red->u.fill, &qxl->u.fill);
break;
+ case QXL_DRAW_OPAQUE:
+ red_get_opaque_ptr(slots, group_id, &red->u.opaque, &qxl->u.opaque);
+ break;
case QXL_DRAW_INVERS:
red->u.invers = qxl->u.invers;
break;
@@ -105,6 +119,9 @@ void red_get_drawable(RedMemSlotInfo *slots, int group_id,
case QXL_DRAW_WHITENESS:
red->u.whiteness = qxl->u.whiteness;
break;
+ default:
+ red_error("unknown type");
+ break;
};
}
@@ -139,6 +156,9 @@ void red_get_compat_drawable(RedMemSlotInfo *slots, int group_id,
case QXL_DRAW_FILL:
red_get_fill_ptr(slots, group_id, &red->u.fill, &qxl->u.fill);
break;
+ case QXL_DRAW_OPAQUE:
+ red_get_opaque_ptr(slots, group_id, &red->u.opaque, &qxl->u.opaque);
+ break;
case QXL_DRAW_INVERS:
red->u.invers = qxl->u.invers;
break;
@@ -159,6 +179,9 @@ void red_get_compat_drawable(RedMemSlotInfo *slots, int group_id,
case QXL_DRAW_WHITENESS:
red->u.whiteness = qxl->u.whiteness;
break;
+ default:
+ red_error("unknown type");
+ break;
};
}
diff --git a/server/red_worker.c b/server/red_worker.c
index a375a204..e253c508 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -7734,7 +7734,7 @@ static void red_lossy_send_qxl_draw_opaque(RedWorker *worker,
BitmapData src_bitmap_data;
BitmapData brush_bitmap_data;
- rop = drawable->u.opaque.rop_decriptor;
+ rop = drawable->u.opaque.rop_descriptor;
src_allowed_lossy = !((rop & SPICE_ROPD_OP_OR) ||
(rop & SPICE_ROPD_OP_AND) ||
(rop & SPICE_ROPD_OP_XOR));
diff --git a/spice.proto b/spice.proto
index f2a1903c..38493a4c 100644
--- a/spice.proto
+++ b/spice.proto
@@ -662,7 +662,7 @@ channel DisplayChannel : BaseChannel {
Image *src_bitmap;
Rect src_area;
Brush brush;
- ropd rop_decriptor;
+ ropd rop_descriptor;
image_scale_mode scale_mode;
QMask mask @outvar(mask);
} data;
diff --git a/spice1.proto b/spice1.proto
index 90a2c30c..a233ffc1 100644
--- a/spice1.proto
+++ b/spice1.proto
@@ -611,7 +611,7 @@ channel DisplayChannel : BaseChannel {
Image *src_bitmap;
Rect src_area;
Brush brush;
- ropd rop_decriptor;
+ ropd rop_descriptor;
image_scale_mode scale_mode;
QMask mask @outvar(mask);
} data;