From 903a4d6e4d9614a91e0e611b6ed271feb724f02d Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Fri, 8 Feb 2008 20:03:48 +0000 Subject: [PATCH] Add const to Evas_Smart_Class pointer. The previous commit just removed the warning, but it was not the ideal solution. The class is really a constant, nobody should change it after it's assigned. SVN revision: 33709 --- legacy/evas/src/lib/canvas/evas_smart.c | 32 ++++++++++++---------- legacy/evas/src/lib/include/evas_private.h | 2 +- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/legacy/evas/src/lib/canvas/evas_smart.c b/legacy/evas/src/lib/canvas/evas_smart.c index b2c272d94a..368f1348dd 100644 --- a/legacy/evas/src/lib/canvas/evas_smart.c +++ b/legacy/evas/src/lib/canvas/evas_smart.c @@ -58,6 +58,7 @@ evas_smart_new(const char *name, const void *data) { Evas_Smart *s; + Evas_Smart_Class *sc; printf("----- WARNING. evas_smart_new() will be deprecated and removed soon\n" "----- Please use evas_smart_class_new() instead\n"); @@ -71,23 +72,24 @@ evas_smart_new(const char *name, s->class_allocated = 1; - s->smart_class = evas_mem_calloc(sizeof(Evas_Smart_Class)); - if (!s->smart_class) + sc = evas_mem_calloc(sizeof(Evas_Smart_Class)); + if (!sc) { free(s); return NULL; } - s->smart_class->name = name; - s->smart_class->add = func_add; - s->smart_class->del = func_del; - s->smart_class->move = func_move; - s->smart_class->resize = func_resize; - s->smart_class->show = func_show; - s->smart_class->hide = func_hide; - s->smart_class->color_set = func_color_set; - s->smart_class->clip_set = func_clip_set; - s->smart_class->clip_unset = func_clip_unset; - s->smart_class->data = (void *)data; + sc->name = name; + sc->add = func_add; + sc->del = func_del; + sc->move = func_move; + sc->resize = func_resize; + sc->show = func_show; + sc->hide = func_hide; + sc->color_set = func_color_set; + sc->clip_set = func_clip_set; + sc->clip_unset = func_clip_unset; + sc->data = (void *)data; + s->smart_class = sc; return s; } @@ -109,7 +111,7 @@ evas_smart_free(Evas_Smart *s) MAGIC_CHECK_END(); s->delete_me = 1; if (s->usage > 0) return; - if (s->class_allocated) free(s->smart_class); + if (s->class_allocated) free((void *)s->smart_class); free(s); } @@ -134,7 +136,7 @@ evas_smart_class_new(const Evas_Smart_Class *sc) s->magic = MAGIC_SMART; - s->smart_class = (Evas_Smart_Class *)sc; + s->smart_class = sc; return s; } diff --git a/legacy/evas/src/lib/include/evas_private.h b/legacy/evas/src/lib/include/evas_private.h index f058caf64a..8c8113b590 100644 --- a/legacy/evas/src/lib/include/evas_private.h +++ b/legacy/evas/src/lib/include/evas_private.h @@ -230,7 +230,7 @@ struct _Evas_Smart int usage; - Evas_Smart_Class *smart_class; + const Evas_Smart_Class *smart_class; unsigned char delete_me : 1; unsigned char class_allocated : 1;