[maemo-commits] [maemo-commits] r8277 - in projects/haf/branches/maemo-af-desktop/hildon-desktop: . libhildondesktop

From: www-data at stage.maemo.org www-data at stage.maemo.org
Date: Thu Nov 23 14:43:16 EET 2006
Author: lucasr
Date: 2006-11-23 14:43:15 +0200 (Thu, 23 Nov 2006)
New Revision: 8277

Modified:
   projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog
   projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.c
   projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.h
   projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-window.c
   projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-window.h
Log:
2006-11-23  Lucas Rocha  <lucas.rocha at nokia.com>

	* libhildondesktop/hildon-desktop-window.c,
	libhildondesktop/desktop-panel-window.c: GObject Love (chain
	finalize to parent, memory leaks).


Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog	2006-11-23 12:05:12 UTC (rev 8276)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/ChangeLog	2006-11-23 12:43:15 UTC (rev 8277)
@@ -1,3 +1,9 @@
+2006-11-23  Lucas Rocha  <lucas.rocha at nokia.com>
+
+	* libhildondesktop/hildon-desktop-window.c,
+	libhildondesktop/desktop-panel-window.c: GObject Love (chain
+	finalize to parent, memory leaks).
+
 2006-11-23  Johan Bilien  <johan.bilien at nokia.com>
 
 	* libhildondesktop/hildon-home-window.[ch]: Inherit from

Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.c
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.c	2006-11-23 12:05:12 UTC (rev 8276)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.c	2006-11-23 12:43:15 UTC (rev 8277)
@@ -82,10 +82,9 @@
 
 #define MAGIC_GEOMETRY(w) (w->priv->magic_geometry.width != -1 && w->priv->magic_geometry.height != -1)
 
-static void desktop_panel_window_class_init (DesktopPanelWindowClass *dskwindow_class);
 /*static void set_focus_forall_cb (GtkWidget *widget, gpointer data);*/
 static void desktop_panel_window_finalize (GObject *self);
-static void desktop_panel_window_init (DesktopPanelWindow *window);
+
 static GObject *desktop_panel_window_constructor (GType gtype, 
 					guint n_params, 
 					GObjectConstructParam *params);
@@ -127,16 +126,16 @@
 static void 
 desktop_panel_window_class_init (DesktopPanelWindowClass *dskwindow_class)
 {
-  GObjectClass      *object_class    = G_OBJECT_CLASS      (dskwindow_class);
-  GtkWidgetClass    *widget_class    = GTK_WIDGET_CLASS    (dskwindow_class);
+  GObjectClass *object_class = G_OBJECT_CLASS (dskwindow_class);
+  GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (dskwindow_class);
   GtkContainerClass *container_class = GTK_CONTAINER_CLASS (dskwindow_class);
 
   g_type_class_add_private (dskwindow_class, sizeof (DesktopPanelWindowPrivate));
 
-  object_class->constructor	   = desktop_panel_window_constructor;
-  object_class->finalize           = desktop_panel_window_finalize;
-  object_class->set_property       = desktop_panel_window_set_property;
-  object_class->get_property 	   = desktop_panel_window_get_property;
+  object_class->constructor  = desktop_panel_window_constructor;
+  object_class->finalize     = desktop_panel_window_finalize;
+  object_class->set_property = desktop_panel_window_set_property;
+  object_class->get_property = desktop_panel_window_get_property;
 
   widget_class->button_press_event   = desktop_panel_press_button_event; 
   widget_class->button_release_event = desktop_panel_release_button_event;
@@ -144,10 +143,8 @@
   widget_class->size_request         = desktop_panel_size_request;
   widget_class->size_allocate	     = desktop_panel_size_allocate;
 
-  container_class->check_resize    = desktop_panel_window_check_resize;
+  container_class->check_resize = desktop_panel_window_check_resize;
   
-  /*FIXME: Properties: x,y,width,height,orientation*/
-
   g_object_class_install_property (object_class,
 		  		   PROP_HOR_W,
 				   g_param_spec_int(
@@ -290,7 +287,7 @@
 
   window->priv = DESKTOP_PANEL_WINDOW_GET_PRIVATE (window);
 
-  HILDON_DESKTOP_WINDOW (window)->container  = NULL;
+  HILDON_DESKTOP_WINDOW (window)->container = NULL;
 
   window->priv->ms		      = NULL;
   window->priv->orientation           = DPANEL_ORIENTATION_TOP;
@@ -346,7 +343,7 @@
   gtk_widget_push_composite_child ();
 
   /* FIXME: set orientation to the window as well */
-  HILDON_DESKTOP_WINDOW (window)->container = g_object_new (DESKTOP_TYPE_PANEL,NULL);
+  HILDON_DESKTOP_WINDOW (window)->container = g_object_new (DESKTOP_TYPE_PANEL, NULL);
 
   if (window->priv->orientation & DPANEL_ORIENTATION_HORIZONTAL)
     g_object_set (G_OBJECT (HILDON_DESKTOP_WINDOW (window)->container),
@@ -359,7 +356,6 @@
 		  GTK_ORIENTATION_VERTICAL,
 		  NULL);
   
-
   gtk_container_add (GTK_CONTAINER (window),
 		     GTK_WIDGET (HILDON_DESKTOP_WINDOW (window)->container));
 
@@ -369,18 +365,16 @@
 }
 
 static void 
-desktop_panel_window_finalize (GObject *self)
+desktop_panel_window_finalize (GObject *object)
 {
-  DesktopPanelWindow        *window;
+  DesktopPanelWindow *window;
 
-  g_assert (self);
-  g_assert (DESKTOP_IS_PANEL_WINDOW (self));
-  
-  window = DESKTOP_PANEL_WINDOW (self);
+  window = DESKTOP_PANEL_WINDOW (object);
 
   if (window->priv->ms)
     g_object_unref (G_OBJECT (window->priv->ms));
 
+  G_OBJECT_CLASS (desktop_panel_window_parent_class)->finalize (object);
 }
 
 static void 
@@ -399,6 +393,7 @@
   {
     window->priv->state = state;
   }
+
   gdk_cursor_unref (cursor);
   
   if (grab_keyboard)
@@ -411,22 +406,19 @@
 desktop_panel_stop_grab (DesktopPanelWindow *window,
 			 guint32	     timestamp)
 {
-
-  g_return_if_fail 
-    (window->priv->state != DESKTOP_PANEL_GRAB_NONE);
+  g_return_if_fail (window->priv->state != DESKTOP_PANEL_GRAB_NONE);
 	
   gtk_grab_remove (GTK_WIDGET (window));
 
-  gdk_pointer_ungrab  (timestamp);
+  gdk_pointer_ungrab (timestamp);
   gdk_keyboard_ungrab (timestamp);
-	
 }
 
 static gboolean 
 desktop_panel_grab_motion_event (DesktopPanelWindow *window,
 				 GdkEventMotion *event)
 {
-/* add cases in order to add new features as resizing */
+  /* add cases in order to add new features as resizing */
   switch (window->priv->state)
   {
     case DESKTOP_PANEL_GRAB_MOVE: 
@@ -436,9 +428,11 @@
 		      		      event->y_root);
       return TRUE;
       break;
+
     default:
       break;
   }
+
   return FALSE;
 }
 
@@ -455,10 +449,9 @@
 
   if (!window->priv->move) return TRUE;
 
-  g_return_val_if_fail
-   (event->button == 1 || event->button == 2, FALSE);
+  g_return_val_if_fail (event->button == 1 || event->button == 2, FALSE);
 
-  gdk_window_get_user_data (event->window, (gpointer)&event_widget);
+  gdk_window_get_user_data (event->window, (gpointer) &event_widget);
   
   g_assert (GTK_IS_WIDGET (event_widget));
 

Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.h
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.h	2006-11-23 12:05:12 UTC (rev 8276)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/desktop-panel-window.h	2006-11-23 12:43:15 UTC (rev 8277)
@@ -66,11 +66,11 @@
 
 struct _DesktopPanelWindow
 {
-    HildonDesktopWindow	       parent;
+    HildonDesktopWindow	        parent;
 
-    GtkWidget		      *panel;
+    GtkWidget		       *panel;
 
-    DesktopPanelWindowPrivate *priv;
+    DesktopPanelWindowPrivate  *priv;
 };
 
 struct _DesktopPanelWindowClass

Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-window.c
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-window.c	2006-11-23 12:05:12 UTC (rev 8276)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-window.c	2006-11-23 12:43:15 UTC (rev 8277)
@@ -27,16 +27,34 @@
 
 G_DEFINE_TYPE (HildonDesktopWindow, hildon_desktop_window, GTK_TYPE_WINDOW);
 
+static void 
+hildon_desktop_window_finalize (GObject *object)
+{
+  HildonDesktopWindow *desktop_window;
+
+  desktop_window = HILDON_DESKTOP_WINDOW (object);
+
+  if (desktop_window->container)
+  {
+    g_object_unref (desktop_window->container);
+    desktop_window = NULL;
+  }
+
+  G_OBJECT_CLASS (hildon_desktop_window_parent_class)->finalize (object);
+}
+
 static void
 hildon_desktop_window_class_init (HildonDesktopWindowClass *desktopwindow_class)
 {
+  GObjectClass *g_object_class = G_OBJECT_CLASS (desktopwindow_class);
 
+  g_object_class->finalize = hildon_desktop_window_finalize;
 }
 
 static void 
 hildon_desktop_window_init (HildonDesktopWindow *desktop_window)
 {
-
+  desktop_window->container = NULL;
 }
 
 void 

Modified: projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-window.h
===================================================================
--- projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-window.h	2006-11-23 12:05:12 UTC (rev 8276)
+++ projects/haf/branches/maemo-af-desktop/hildon-desktop/libhildondesktop/hildon-desktop-window.h	2006-11-23 12:43:15 UTC (rev 8277)
@@ -30,21 +30,20 @@
 
 G_BEGIN_DECLS
 
+typedef struct _HildonDesktopWindow HildonDesktopWindow;
+typedef struct _HildonDesktopWindowClass HildonDesktopWindowClass;
+
 #define HILDON_DESKTOP_TYPE_WINDOW ( hildon_desktop_window_get_type() )
 #define HILDON_DESKTOP_WINDOW(obj) (GTK_CHECK_CAST (obj, HILDON_DESKTOP_TYPE_WINDOW, HildonDesktopWindow))
 #define HILDON_DESKTOP_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), HILDON_DESKTOP_TYPE_WINDOW, HildonDesktopWindowClass))
 #define HILDON_DESKTOP_IS_WINDOW(obj) (GTK_CHECK_TYPE (obj, HILDON_DESKTOP_TYPE_WINDOW))
 #define HILDON_DESKTOP_IS_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), HILDON_DESKTOP_TYPE_WINDOW))
 
-
-typedef struct _HildonDesktopWindow HildonDesktopWindow;
-typedef struct _HildonDesktopWindowClass HildonDesktopWindowClass;
-
 struct _HildonDesktopWindow
 {
-    GtkWindow 		       parent;
+    GtkWindow 	    parent;
 
-    GtkContainer	      *container;
+    GtkContainer   *container;
 };
 
 struct _HildonDesktopWindowClass
@@ -56,16 +55,16 @@
     
     void (*set_focus)     (HildonDesktopWindow *window,
 			   gboolean focus);
-
 };
 
-GType hildon_desktop_window_get_type (void);
+GType  hildon_desktop_window_get_type       (void);
 
-void hildon_desktop_window_set_sensitive (HildonDesktopWindow *window, gboolean sensitive);
+void   hildon_desktop_window_set_sensitive  (HildonDesktopWindow *window, 
+                                             gboolean             sensitive);
 
-void hildon_desktop_window_set_focus (HildonDesktopWindow *window, gboolean focus);
+void   hildon_desktop_window_set_focus      (HildonDesktopWindow *window, 
+                                             gboolean             focus);
 
-
 G_END_DECLS
 
 #endif


More information about the maemo-commits mailing list