diff --git a/common/canvas_base.c b/common/canvas_base.c index a1378a0..6a0c09c 100644 --- a/common/canvas_base.c +++ b/common/canvas_base.c @@ -3027,7 +3027,7 @@ static void canvas_draw_stroke(SpiceCanvas *spice_canvas, SpiceRect *bbox, dashed = 0; if (stroke->attr.flags & SPICE_LINE_FLAGS_STYLED) { - SPICE_FIXED28_4 *style = (SPICE_FIXED28_4*)SPICE_GET_ADDRESS(stroke->attr.style); + SPICE_FIXED28_4 *style = stroke->attr.style; int nseg; dashed = 1; diff --git a/common/gdi_canvas.c b/common/gdi_canvas.c index 9c52002..845ddd5 100644 --- a/common/gdi_canvas.c +++ b/common/gdi_canvas.c @@ -1590,9 +1590,8 @@ static void gdi_canvas_draw_text(SpiceCanvas *spice_canvas, SpiceRect *bbox, Spi } } -static uint32_t *gdi_get_userstyle(GdiCanvas *canvas, uint8_t nseg, SPICE_ADDRESS addr, int start_is_gap) +static uint32_t *gdi_get_userstyle(GdiCanvas *canvas, uint8_t nseg, SPICE_FIXED28_4* style, int start_is_gap) { - SPICE_FIXED28_4* style = (SPICE_FIXED28_4*)SPICE_GET_ADDRESS(addr); double offset = 0; uint32_t *local_style; int i; diff --git a/spice.proto b/spice.proto index e16250f..bd56eb2 100644 --- a/spice.proto +++ b/spice.proto @@ -536,7 +536,7 @@ struct LineAttr { } u1 @anon; switch (flags) { case STYLED: - fixed28_4 *style[style_nseg]; + fixed28_4 *style[style_nseg] @c_ptr; } u2 @anon; }; diff --git a/spice1.proto b/spice1.proto index 7bbccb7..23ce9f1 100644 --- a/spice1.proto +++ b/spice1.proto @@ -493,7 +493,7 @@ struct LineAttr { uint8 style_nseg; fixed28_4 width @zero; fixed28_4 miter_limit @zero; - fixed28_4 *style[style_nseg]; + fixed28_4 *style[style_nseg] @c_ptr; }; struct RasterGlyphA1 {