X-Git-Url: http://pileus.org/git/?p=grits;a=blobdiff_plain;f=src%2Fobjects%2Fgis-marker.c;h=42639ade1dc1d9c74b080fbfb00c2baa93b58b7d;hp=0033080ad9fd1ed20322e51c99c13f711f84bf01;hb=5fc5cb01b2d060bdfa5a268c0d4e6b528bd31edc;hpb=41ac199155afce20286027beb0261fbdd5cee7c5 diff --git a/src/objects/gis-marker.c b/src/objects/gis-marker.c index 0033080..42639ad 100644 --- a/src/objects/gis-marker.c +++ b/src/objects/gis-marker.c @@ -19,17 +19,9 @@ #include "gis-marker.h" /* GisMarker */ -G_DEFINE_TYPE(GisMarker, gis_marker, GIS_TYPE_OBJECT); -static void gis_marker_init(GisMarker *self) { } - -static void gis_marker_finalize(GObject *_self); -static void gis_marker_class_init(GisMarkerClass *klass) -{ - G_OBJECT_CLASS(klass)->finalize = gis_marker_finalize; -} - GisMarker *gis_marker_new(const gchar *label) { + //g_debug("GisMarker: new - %s", label); static const int RADIUS = 4; static const int WIDTH = 100; static const int HEIGHT = 20; @@ -49,11 +41,20 @@ GisMarker *gis_marker_new(const gchar *label) return self; } +G_DEFINE_TYPE(GisMarker, gis_marker, GIS_TYPE_OBJECT); +static void gis_marker_init(GisMarker *self) { } + static void gis_marker_finalize(GObject *_self) { GisMarker *self = GIS_MARKER(_self); - cairo_surface_destroy(cairo_get_target(self->cairo)); + //g_debug("GisMarker: finalize - %s", self->label); + cairo_surface_t *surface = cairo_get_target(self->cairo); + cairo_surface_destroy(surface); cairo_destroy(self->cairo); g_free(self->label); - g_free(self); +} + +static void gis_marker_class_init(GisMarkerClass *klass) +{ + G_OBJECT_CLASS(klass)->finalize = gis_marker_finalize; }