2009-03-25 Alberto Garcia <agarcia@igalia.com>
authorAlberto Garcia <agarcia@igalia.com>
Wed, 25 Mar 2009 10:17:51 +0000 (10:17 +0000)
committerAlberto Garcia <agarcia@igalia.com>
Wed, 25 Mar 2009 10:17:51 +0000 (10:17 +0000)
* src/hildon-program.c (hildon_program_remove_window)
(hildon_program_add_window): Add checks for the window
parameter. Don't decrease the window counter if the window is not
registered.

ChangeLog
src/hildon-program.c

index ba13292..7e9bcb6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-03-25  Alberto Garcia  <agarcia@igalia.com>
+
+       * src/hildon-program.c (hildon_program_remove_window)
+       (hildon_program_add_window): Add checks for the window
+       parameter. Don't decrease the window counter if the window is not
+       registered.
+
 2009-03-24  Alejandro G. Castro  <alex@igalia.com>
 
        * src/hildon-pannable-area.c,
index 53da518..4b76a4c 100644 (file)
@@ -453,6 +453,7 @@ hildon_program_add_window                       (HildonProgram *self,
     HildonProgramPrivate *priv;
     
     g_return_if_fail (HILDON_IS_PROGRAM (self));
+    g_return_if_fail (HILDON_IS_WINDOW (window));
     
     priv = HILDON_PROGRAM_GET_PRIVATE (self);
     g_assert (priv);
@@ -501,10 +502,13 @@ hildon_program_remove_window                    (HildonProgram *self,
     HildonProgramPrivate *priv;
     
     g_return_if_fail (HILDON_IS_PROGRAM (self));
+    g_return_if_fail (HILDON_IS_WINDOW (window));
     
     priv = HILDON_PROGRAM_GET_PRIVATE (self);
     g_assert (priv);
     
+    g_return_if_fail (g_slist_find (priv->windows, window));
+
     hildon_window_unset_program (window);
 
     priv->windows = g_slist_remove (priv->windows, window);