On Mon, 2016-02-29 at 10:36 +0000, Frediano Ziglio wrote: > Avoid having to call function at runtime to inialize static. > Old functions are defined as deprecated for compatibility. > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> Acked-by: Pavel Grunt <pgrunt@xxxxxxxxxx> > --- > common/gdi_canvas.c | 2 -- > common/gl_canvas.c | 2 -- > common/quic.c | 11 ++--------- > common/quic.h | 2 +- > common/rop3.c | 8 +------- > common/rop3.h | 2 +- > common/sw_canvas.c | 12 +----------- > common/sw_canvas.h | 2 +- > 8 files changed, 7 insertions(+), 34 deletions(-) > > diff --git a/common/gdi_canvas.c b/common/gdi_canvas.c > index 3c434d6..fcc5fc9 100644 > --- a/common/gdi_canvas.c > +++ b/common/gdi_canvas.c > @@ -1857,6 +1857,4 @@ void gdi_canvas_init(void) //unsafe global > function > gdi_canvas_ops.put_image = gdi_canvas_put_image; > gdi_canvas_ops.clear = gdi_canvas_clear; > gdi_canvas_ops.destroy = gdi_canvas_destroy; > - > - rop3_init(); > } > diff --git a/common/gl_canvas.c b/common/gl_canvas.c > index 9c5b98c..5ffb47b 100644 > --- a/common/gl_canvas.c > +++ b/common/gl_canvas.c > @@ -908,6 +908,4 @@ void gl_canvas_init(void) //unsafe global > function > gl_canvas_ops.group_start = gl_canvas_group_start; > gl_canvas_ops.group_end = gl_canvas_group_end; > gl_canvas_ops.destroy = gl_canvas_destroy; > - > - rop3_init(); > } > diff --git a/common/quic.c b/common/quic.c > index 88cf143..f014a2a 100644 > --- a/common/quic.c > +++ b/common/quic.c > @@ -1634,13 +1634,11 @@ int quic_decode(QuicContext *quic, > QuicImageType type, uint8_t *buf, int stride) > return QUIC_OK; > } > > -static int need_init = TRUE; > - > QuicContext *quic_create(QuicUsrContext *usr) > { > Encoder *encoder; > > - if (!usr || need_init || !usr->error || !usr->warn || !usr->info > || !usr->malloc || > + if (!usr || !usr->error || !usr->warn || !usr->info || !usr- > >malloc || > !usr->free || !usr->more_space || !usr->more_lines) { > return NULL; > } > @@ -1671,13 +1669,8 @@ void quic_destroy(QuicContext *quic) > encoder->usr->free(encoder->usr, encoder); > } > > -void quic_init(void) > +SPICE_CONSTRUCTOR_FUNC(quic_global_init) > { > - if (!need_init) { > - return; > - } > - need_init = FALSE; > - > family_init(&family_8bpc, 8, DEFmaxclen); > family_init(&family_5bpc, 5, DEFmaxclen); > } > diff --git a/common/quic.h b/common/quic.h > index ee5fb17..97622b3 100644 > --- a/common/quic.h > +++ b/common/quic.h > @@ -63,7 +63,7 @@ int quic_decode(QuicContext *quic, QuicImageType > type, uint8_t *buf, int stride) > QuicContext *quic_create(QuicUsrContext *usr); > void quic_destroy(QuicContext *quic); > > -void quic_init(void); > +static inline SPICE_GNUC_DEPRECATED void quic_init(void) {} > > SPICE_END_DECLS > > diff --git a/common/rop3.c b/common/rop3.c > index 1a18fe9..2a0a167 100644 > --- a/common/rop3.c > +++ b/common/rop3.c > @@ -376,16 +376,10 @@ ROP3_HANDLERS(DPSoo, *src | *pat | *dest, > 0xfe); > rop3_test_handlers_32[index] = rop3_test32_##op; \ > rop3_test_handlers_16[index] = rop3_test16_##op; > > -void rop3_init(void) > +SPICE_CONSTRUCTOR_FUNC(rop3_global_init) > { > - static int need_init = 1; > int i; > > - if (!need_init) { > - return; > - } > - need_init = 0; > - > for (i = 0; i < ROP3_NUM_OPS; i++) { > rop3_with_pattern_handlers_32[i] = > default_rop3_with_pattern_handler; > rop3_with_pattern_handlers_16[i] = > default_rop3_with_pattern_handler; > diff --git a/common/rop3.h b/common/rop3.h > index 7e00499..20e100c 100644 > --- a/common/rop3.h > +++ b/common/rop3.h > @@ -32,7 +32,7 @@ void do_rop3_with_pattern(uint8_t rop3, > pixman_image_t *d, pixman_image_t *s, Sp > void do_rop3_with_color(uint8_t rop3, pixman_image_t *d, > pixman_image_t *s, SpicePoint *src_pos, > uint32_t rgb); > > -void rop3_init(void); > +static inline SPICE_GNUC_DEPRECATED void rop3_init(void) {} > > SPICE_END_DECLS > > diff --git a/common/sw_canvas.c b/common/sw_canvas.c > index a43cee4..e8b0f3b 100644 > --- a/common/sw_canvas.c > +++ b/common/sw_canvas.c > @@ -1188,7 +1188,6 @@ static void canvas_destroy(SpiceCanvas > *spice_canvas) > free(canvas); > } > > -static int need_init = 1; > static SpiceCanvasOps sw_canvas_ops; > > static SpiceCanvas *canvas_create_common(pixman_image_t *image, > @@ -1205,9 +1204,6 @@ static SpiceCanvas > *canvas_create_common(pixman_image_t *image, > { > SwCanvas *canvas; > > - if (need_init) { > - return NULL; > - } > spice_pixman_image_set_format(image, > spice_surface_format_to_pixman > (format)); > > @@ -1290,13 +1286,8 @@ SpiceCanvas *canvas_create_for_data(int width, > int height, uint32_t format, > ); > } > > -void sw_canvas_init(void) //unsafe global function > +SPICE_CONSTRUCTOR_FUNC(sw_canvas_global_init) //unsafe global > function > { > - if (!need_init) { > - return; > - } > - need_init = 0; > - > canvas_base_init_ops(&sw_canvas_ops); > sw_canvas_ops.draw_text = canvas_draw_text; > sw_canvas_ops.put_image = canvas_put_image; > @@ -1329,5 +1320,4 @@ void sw_canvas_init(void) //unsafe global > function > sw_canvas_ops.colorkey_scale_image_from_surface = > colorkey_scale_image_from_surface; > sw_canvas_ops.copy_region = copy_region; > sw_canvas_ops.get_image = get_image; > - rop3_init(); > } > diff --git a/common/sw_canvas.h b/common/sw_canvas.h > index 564d416..8039142 100644 > --- a/common/sw_canvas.h > +++ b/common/sw_canvas.h > @@ -52,7 +52,7 @@ SpiceCanvas *canvas_create_for_data(int width, int > height, uint32_t format, uint > ); > > > -void sw_canvas_init(void); > +static inline SPICE_GNUC_DEPRECATED void sw_canvas_init(void) {} > > SPICE_END_DECLS > _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel