Fixes FwNULL 15/16
[modest] / src / modest-dimming-rules-group.c
index 89c388f..4b3fd27 100644 (file)
@@ -37,7 +37,7 @@ static void modest_dimming_rules_group_class_init (ModestDimmingRulesGroupClass
 static void modest_dimming_rules_group_init       (ModestDimmingRulesGroup *obj);
 static void modest_dimming_rules_group_finalize   (GObject *obj);
 
-#ifdef MODEST_PLATFORM_MAEMO
+#ifndef MODEST_TOOLKIT_GTK
 static void _insensitive_press_callback (GtkWidget *widget, gpointer user_data);
 #endif
 
@@ -128,6 +128,9 @@ modest_dimming_rules_group_finalize (GObject *obj)
 
        priv = MODEST_DIMMING_RULES_GROUP_GET_PRIVATE(obj);
 
+       if (priv->window)
+               g_object_weak_unref (G_OBJECT (priv->window), on_window_destroy, obj);
+
        if (priv->name != NULL)
                g_free(priv->name);
 
@@ -191,7 +194,7 @@ _add_rule (ModestDimmingRulesGroup *self,
        priv->window = MODEST_WINDOW (window);
 
        widget = modest_dimming_rule_get_widget (rule);
-#ifdef MODEST_PLATFORM_MAEMO
+#ifndef MODEST_TOOLKIT_GTK
        /* Connect insensitive-presss handler to show notifications */
        g_signal_connect (G_OBJECT (widget), "insensitive-press", 
                          G_CALLBACK (_insensitive_press_callback), 
@@ -334,7 +337,7 @@ _execute_widget_dimming_rule (gpointer data, gpointer user_data)
        modest_dimming_rule_process (MODEST_DIMMING_RULE(data));
 }
 
-#ifdef MODEST_PLATFORM_MAEMO
+#ifndef MODEST_TOOLKIT_GTK
 static void
 _insensitive_press_callback (GtkWidget *widget, gpointer user_data)
 {
@@ -354,10 +357,13 @@ _insensitive_press_callback (GtkWidget *widget, gpointer user_data)
        notification = modest_dimming_rule_get_notification (rule);
        if (notification == NULL)
                goto frees;
-       
+
+       /* Notifications for dimmed items are not shown in Hildon2 */
+#ifndef MODEST_TOOLKIT_HILDON2
        /* Show notification banner */
-       modest_platform_information_banner (NULL, NULL, notification);  
-       
+       modest_platform_information_banner (NULL, NULL, notification);
+#endif
+
        /* Free */
  frees:
        if (group != NULL)