From: Enlightenment C. <no...@cv...> - 2008-02-08 20:04:21
|
Enlightenment CVS committal Author : barbieri Project : e17 Module : libs/evas Dir : e17/libs/evas/src/lib/canvas Modified Files: evas_smart.c Log Message: 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. =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_smart.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- evas_smart.c 8 Feb 2008 19:51:02 -0000 1.17 +++ evas_smart.c 8 Feb 2008 20:03:48 -0000 1.18 @@ -58,6 +58,7 @@ 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 @@ 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 @@ 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 @@ s->magic = MAGIC_SMART; - s->smart_class = (Evas_Smart_Class *)sc; + s->smart_class = sc; return s; } |