gcompris r3401 - branches/gcomprixogoo/src/fifteen-activity



Author: bcoudoin
Date: Sat May  3 19:45:53 2008
New Revision: 3401
URL: http://svn.gnome.org/viewvc/gcompris?rev=3401&view=rev

Log:
fixed bad reference to unexistant destroy event. Was creating a memory leak.


Modified:
   branches/gcomprixogoo/src/fifteen-activity/fifteen.c

Modified: branches/gcomprixogoo/src/fifteen-activity/fifteen.c
==============================================================================
--- branches/gcomprixogoo/src/fifteen-activity/fifteen.c	(original)
+++ branches/gcomprixogoo/src/fifteen-activity/fifteen.c	Sat May  3 19:45:53 2008
@@ -40,7 +40,6 @@
 static void		 fifteen_destroy_all_items(void);
 static void		 fifteen_next_level(void);
 
-static void		 free_stuff (GtkObject *obj, gpointer data);
 static gboolean		 piece_event (GooCanvasItem  *item,
 				      GooCanvasItem  *target,
 				      GdkEventButton *event,
@@ -183,8 +182,12 @@
 static void fifteen_destroy_all_items()
 {
   if(boardRootItem!=NULL)
-    goo_canvas_item_remove(boardRootItem);
-
+    {
+      GooCanvasItem **board;
+      board = g_object_get_data (G_OBJECT (boardRootItem), "board");
+      g_free(board);
+      goo_canvas_item_remove(boardRootItem);
+    }
   boardRootItem = NULL;
 }
 /* ==================================== */
@@ -217,9 +220,6 @@
 
   board = g_new (GooCanvasItem *, 16);
   g_object_set_data (G_OBJECT (boardRootItem), "board", board);
-  g_signal_connect (boardRootItem, "destroy",
-		    G_CALLBACK (free_stuff),
-		    board);
 
   for (i = 0; i < 15; i++) {
     y = i / 4;
@@ -305,13 +305,6 @@
 /*==================================================*/
 /*   Code taken from libgnomecanvas demo fifteen    */
 
-
-static void
-free_stuff (GtkObject *obj, gpointer data)
-{
-  g_free (data);
-}
-
 static void
 test_win (GooCanvasItem **board)
 {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]