diff --git a/ChangeLog b/ChangeLog
index e5e4af7831f2ca1d5353e54811d2bac7eab4bfed..57a6a387ebd9e21e3a87b0130e83bdba14c66d29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-21: 14:00 Ali aliov@xfce.org
+	* Make the generic common pointers static in the *_new functions.
+	* src/xfpm-xfconf.c free specs list after usage.
+	* settings/xfpm-settings.c Fix default DPMS settings on battery power.
+
 2009-06-20: 19:50 Ali aliov@xfce.org
 	* libxfpm/xfpm-common.c Remove no longer used function, that's it
 	for Today :).
diff --git a/settings/xfpm-settings.c b/settings/xfpm-settings.c
index 81ab3fbd15668f806582c5d2df365bd779a553d8..2a9a8554c619b6174d88d4ce76c5b347e62624c0 100644
--- a/settings/xfpm-settings.c
+++ b/settings/xfpm-settings.c
@@ -758,10 +758,11 @@ xfpm_settings_on_battery (XfconfChannel *channel, gboolean user_privilege, gbool
     dpms_frame_on_battery = GTK_WIDGET (gtk_builder_get_object (xml, "dpms-on-battery-frame"));
     gtk_widget_show (GTK_WIDGET(dpms_frame_on_battery));
   
-    val = xfconf_channel_get_uint (channel, "/" ON_BATT_DPMS_SLEEP, 3);
+    val = xfconf_channel_get_uint (channel, "/" ON_BATT_DPMS_SLEEP, 5);
     gtk_range_set_value (GTK_RANGE(on_battery_dpms_sleep), val);
     
-    val = xfconf_channel_get_uint (channel, "/" ON_BATT_DPMS_OFF, 5);
+    val = xfconf_channel_get_uint (channel, "/" ON_BATT_DPMS_OFF, 10);
+    gtk_range_set_value (GTK_RANGE(on_battery_dpms_off), val);
 #endif
 
      /*
diff --git a/src/xfpm-adapter.c b/src/xfpm-adapter.c
index 7062f74d5233ddbba74f44223c7fead112caaedb..e2b6a912ad83625dba8e817dc99598e5a7c23b94 100644
--- a/src/xfpm-adapter.c
+++ b/src/xfpm-adapter.c
@@ -66,8 +66,6 @@ enum
 
 static guint signals [LAST_SIGNAL] = { 0 };
 
-static gpointer xfpm_adapter_object = NULL;
-
 G_DEFINE_TYPE(XfpmAdapter, xfpm_adapter, G_TYPE_OBJECT)
 
 static void
@@ -174,7 +172,9 @@ xfpm_adapter_finalize(GObject *object)
 XfpmAdapter *
 xfpm_adapter_new (void)
 {
-    if ( xfpm_adapter_object != NULL )
+    static gpointer xfpm_adapter_object = NULL;
+    
+    if ( G_LIKELY (xfpm_adapter_object != NULL) )
     {
 	g_object_ref (xfpm_adapter_object);
     }
diff --git a/src/xfpm-button.c b/src/xfpm-button.c
index e8deed7c162432811d9b81ec611be3dc4d44ef60..1907b5397ca2ddc293004a1a47199e9a4c27032b 100644
--- a/src/xfpm-button.c
+++ b/src/xfpm-button.c
@@ -58,8 +58,6 @@ enum
 
 static guint signals [LAST_SIGNAL] = { 0 };
 
-static gpointer xfpm_button_object = NULL;
-
 G_DEFINE_TYPE (XfpmButton, xfpm_button, G_TYPE_OBJECT)
 
 static void
@@ -165,7 +163,9 @@ xfpm_button_finalize (GObject *object)
 XfpmButton *
 xfpm_button_new (void)
 {
-    if ( xfpm_button_object != NULL )
+    static gpointer xfpm_button_object = NULL;
+    
+    if ( G_LIKELY (xfpm_button_object != NULL) )
     {
 	g_object_ref (xfpm_button_object);
     }
diff --git a/src/xfpm-dbus-monitor.c b/src/xfpm-dbus-monitor.c
index de780e605e85e13a0eb15b9b0e4205acfcf2bb93..a5666df7c8d5c85b5fe7a62bae46e7346f02518d 100644
--- a/src/xfpm-dbus-monitor.c
+++ b/src/xfpm-dbus-monitor.c
@@ -48,8 +48,6 @@ struct XfpmDBusMonitorPrivate
     GPtrArray       *array;
 };
 
-static gpointer xfpm_dbus_monitor_object = NULL;
-
 enum
 {
     CONNECTION_LOST,
@@ -246,7 +244,8 @@ xfpm_dbus_monitor_finalize (GObject *object)
 XfpmDBusMonitor *
 xfpm_dbus_monitor_new (void)
 {
-    if ( xfpm_dbus_monitor_object != NULL )
+    static gpointer xfpm_dbus_monitor_object = NULL;
+    if ( G_LIKELY (xfpm_dbus_monitor_object != NULL) )
     {
 	g_object_ref (xfpm_dbus_monitor_object);
     }
diff --git a/src/xfpm-inhibit.c b/src/xfpm-inhibit.c
index eb843a28f9e2c7911d4a35b2ec9ce2522dbb3d11..be152710841ca094a454a4778b8c8e4d3654e3d3 100644
--- a/src/xfpm-inhibit.c
+++ b/src/xfpm-inhibit.c
@@ -68,8 +68,6 @@ enum
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
-static gpointer xfpm_inhibit_object = NULL;
-
 G_DEFINE_TYPE (XfpmInhibit, xfpm_inhibit, G_TYPE_OBJECT)
 
 static void
@@ -260,7 +258,9 @@ xfpm_inhibit_finalize(GObject *object)
 XfpmInhibit *
 xfpm_inhibit_new(void)
 {
-    if ( xfpm_inhibit_object != NULL )
+    static gpointer xfpm_inhibit_object = NULL;
+    
+    if ( G_LIKELY (xfpm_inhibit_object != NULL) )
     {
 	g_object_ref (xfpm_inhibit_object);
     }
diff --git a/src/xfpm-screen-saver.c b/src/xfpm-screen-saver.c
index 70e028bcd3fbcfcf93d7ff9ab2c289fc25183ac7..983e9d9a0c9628a782f556da9bf6f37e02787ccc 100644
--- a/src/xfpm-screen-saver.c
+++ b/src/xfpm-screen-saver.c
@@ -61,8 +61,6 @@ enum
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
-static gpointer xfpm_screen_saver_object = NULL;
-
 G_DEFINE_TYPE(XfpmScreenSaver, xfpm_screen_saver, G_TYPE_OBJECT)
 
 static void
@@ -115,7 +113,9 @@ xfpm_screen_saver_finalize(GObject *object)
 XfpmScreenSaver *
 xfpm_screen_saver_new(void)
 {
-    if ( xfpm_screen_saver_object != NULL )
+    static gpointer xfpm_screen_saver_object = NULL;
+    
+    if ( G_LIKELY (xfpm_screen_saver_object != NULL) )
     {
 	g_object_ref (xfpm_screen_saver_object);
     }
diff --git a/src/xfpm-shutdown.c b/src/xfpm-shutdown.c
index 0e39a6768e868e4084e0ab596e55487bd9a0e5c9..12afc98a5531d585500de0b7718b4eb0cbca68e6 100644
--- a/src/xfpm-shutdown.c
+++ b/src/xfpm-shutdown.c
@@ -87,8 +87,6 @@ enum
 
 static guint signals [LAST_SIGNAL] = { 0 };
 
-static gpointer xfpm_shutdown_object = NULL;
-
 G_DEFINE_TYPE(XfpmShutdown, xfpm_shutdown, G_TYPE_OBJECT)
 
 static gboolean
@@ -365,7 +363,9 @@ _filter_error_message(const gchar *error)
 XfpmShutdown *
 xfpm_shutdown_new(void)
 {
-    if ( xfpm_shutdown_object != NULL )
+    static gpointer xfpm_shutdown_object = NULL;
+    
+    if ( G_LIKELY (xfpm_shutdown_object != NULL) )
     {
 	g_object_ref (xfpm_shutdown_object);
     }
diff --git a/src/xfpm-xfconf.c b/src/xfpm-xfconf.c
index 11ef2ed9aebaffd5298e71da0381f303cad4582e..c64a0dc4b646bc21841312db64f4c99ea655ced0 100644
--- a/src/xfpm-xfconf.c
+++ b/src/xfpm-xfconf.c
@@ -45,8 +45,6 @@ static void xfpm_xfconf_finalize   (GObject *object);
 #define XFPM_XFCONF_GET_PRIVATE(o) \
 (G_TYPE_INSTANCE_GET_PRIVATE ((o), XFPM_TYPE_XFCONF, XfpmXfconfPrivate ))
 
-static gpointer xfpm_xfconf_object = NULL;
-
 struct XfpmXfconfPrivate
 {
     XfconfChannel 	*channel;
@@ -166,6 +164,7 @@ xfpm_xfconf_load (XfpmXfconf *conf, gboolean channel_valid)
 	g_object_set_property (G_OBJECT (conf), specs[i]->name, &value);
 	g_value_unset (&value);
     }
+    g_free (specs);
 }
 
 static void
@@ -192,7 +191,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
     object_class->finalize = xfpm_xfconf_finalize;
     
     /**
-     * XfpmXfconf:general-notification:
+     * XfpmXfconf::general-notification
      **/
     g_object_class_install_property (object_class,
                                      PROP_GENERAL_NOTIFICATION,
@@ -201,7 +200,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                            TRUE,
                                                            G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:lock-screen-suspend-hibernate:
+     * XfpmXfconf::lock-screen-suspend-hibernate
      **/
     g_object_class_install_property (object_class,
                                      PROP_LOCK_SCREEN_ON_SLEEP,
@@ -211,7 +210,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                            G_PARAM_READWRITE));
     
     /**
-     * XfpmXfconf:power-save-on-battery:
+     * XfpmXfconf::power-save-on-battery
      **/
     g_object_class_install_property (object_class,
                                      PROP_POWER_SAVE_ON_BATTERY,
@@ -220,7 +219,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                            TRUE,
                                                            G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:enable-cpu-freq-control:
+     * XfpmXfconf::enable-cpu-freq-control
      **/
     g_object_class_install_property (object_class,
                                      PROP_ENABLE_CPU_FREQ,
@@ -229,7 +228,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                            TRUE,
                                                            G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:critical-power-level:
+     * XfpmXfconf::critical-power-level
      **/
     g_object_class_install_property (object_class,
                                      PROP_CRITICAL_LEVEL,
@@ -241,7 +240,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                         G_PARAM_READWRITE));
 	
     /**
-     * XfpmXfconf:show-brightness-popup:
+     * XfpmXfconf::show-brightness-popup
      **/
     g_object_class_install_property (object_class,
                                      PROP_SHOW_BRIGHTNESS_POPUP,
@@ -251,7 +250,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                            G_PARAM_READWRITE));
     
     /**
-     * XfpmXfconf:show-brightness-popup:
+     * XfpmXfconf::show-brightness-popup
      **/
     g_object_class_install_property (object_class,
                                      PROP_ENABLE_BRIGHTNESS,
@@ -260,7 +259,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                            TRUE,
                                                            G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:show-tray-icon:
+     * XfpmXfconf::show-tray-icon
      **/
     g_object_class_install_property (object_class,
                                      PROP_TRAY_ICON,
@@ -272,7 +271,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                         G_PARAM_READWRITE));
 							
     /**
-     * XfpmXfconf:critical-battery-action:
+     * XfpmXfconf::critical-battery-action
      **/
     g_object_class_install_property (object_class,
                                      PROP_CRITICAL_BATTERY_ACTION,
@@ -283,7 +282,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
 							XFPM_DO_NOTHING,
                                                         G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:power-switch-action:
+     * XfpmXfconf::power-switch-action
      **/
     g_object_class_install_property (object_class,
                                      PROP_POWER_BUTTON,
@@ -295,7 +294,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                         G_PARAM_READWRITE));
 							
     /**
-     * XfpmXfconf:sleep-switch-action:
+     * XfpmXfconf::sleep-switch-action
      **/
     g_object_class_install_property (object_class,
                                      PROP_SLEEP_BUTTON,
@@ -307,7 +306,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                         G_PARAM_READWRITE));
 							
     /**
-     * XfpmXfconf:hibernate-switch-action:
+     * XfpmXfconf::hibernate-switch-action
      **/
     g_object_class_install_property (object_class,
                                      PROP_HIBERNATE_BUTTON,
@@ -319,7 +318,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                         G_PARAM_READWRITE));
     
     /**
-     * XfpmXfconf:lid-action-on-ac:
+     * XfpmXfconf::lid-action-on-ac
      **/
     g_object_class_install_property (object_class,
                                      PROP_LID_ACTION_ON_AC,
@@ -330,7 +329,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
 							LID_TRIGGER_LOCK_SCREEN,
                                                         G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:lid-action-on-battery:
+     * XfpmXfconf::lid-action-on-battery
      **/
     g_object_class_install_property (object_class,
                                      PROP_LID_ACTION_ON_BATTERY,
@@ -342,7 +341,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                         G_PARAM_READWRITE));
 #ifdef HAVE_DPMS
     /**
-     * XfpmXfconf:dpms-enabled:
+     * XfpmXfconf::dpms-enabled
      **/
     g_object_class_install_property (object_class,
                                      PROP_ENABLE_DPMS,
@@ -351,7 +350,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                            TRUE,
                                                            G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:dpms-on-ac-sleep:
+     * XfpmXfconf::dpms-on-ac-sleep
      **/
     g_object_class_install_property (object_class,
                                      PROP_DPMS_SLEEP_ON_AC,
@@ -362,7 +361,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
 							10,
                                                         G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:dpms-on-ac-off:
+     * XfpmXfconf::dpms-on-ac-off
      **/
     g_object_class_install_property (object_class,
                                      PROP_DPMS_OFF_ON_AC,
@@ -373,7 +372,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
 							15,
                                                         G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:dpms-on-battery-sleep:
+     * XfpmXfconf::dpms-on-battery-sleep
      **/
     g_object_class_install_property (object_class,
                                      PROP_DPMS_SLEEP_ON_BATTERY,
@@ -384,7 +383,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
 							5,
                                                         G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:dpms-on-battery-off:
+     * XfpmXfconf::dpms-on-battery-off
      **/
     g_object_class_install_property (object_class,
                                      PROP_DPMS_OFF_ON_BATTERY,
@@ -395,7 +394,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
 							10,
                                                         G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:dpms-sleep-mode:
+     * XfpmXfconf::dpms-sleep-mode
      **/
     g_object_class_install_property (object_class,
                                      PROP_DPMS_SLEEP_MODE,
@@ -406,7 +405,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
 #endif /* HAVE_DPMS */
 
     /**
-     * XfpmXfconf:inactivity-on-ac:
+     * XfpmXfconf::inactivity-on-ac
      **/
     g_object_class_install_property (object_class,
                                      PROP_IDLE_ON_AC,
@@ -418,7 +417,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                         G_PARAM_READWRITE));
 
     /**
-     * XfpmXfconf:inactivity-on-battery:
+     * XfpmXfconf::inactivity-on-battery
      **/
     g_object_class_install_property (object_class,
                                      PROP_IDLE_ON_BATTERY,
@@ -429,9 +428,8 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
 							30,
                                                         G_PARAM_READWRITE));
 
-    
      /**
-     * XfpmXfconf:inactivity-sleep-mode:
+     * XfpmXfconf::inactivity-sleep-mode
      **/
     g_object_class_install_property (object_class,
                                      PROP_IDLE_SLEEP_MODE,
@@ -440,7 +438,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
 							  "Suspend",
                                                           G_PARAM_READWRITE));
     /**
-     * XfpmXfconf:brightness-on-ac:
+     * XfpmXfconf::brightness-on-ac
      **/
     g_object_class_install_property (object_class,
                                      PROP_DIM_ON_AC_TIMEOUT,
@@ -452,7 +450,7 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                         G_PARAM_READWRITE));
 
     /**
-     * XfpmXfconf:brightness-on-battery:
+     * XfpmXfconf::brightness-on-battery
      **/
     g_object_class_install_property (object_class,
                                      PROP_DIM_ON_BATTERY_TIMEOUT,
@@ -518,7 +516,9 @@ xfpm_xfconf_finalize(GObject *object)
 XfpmXfconf *
 xfpm_xfconf_new(void)
 {
-    if ( xfpm_xfconf_object != NULL )
+    static gpointer xfpm_xfconf_object = NULL;
+    
+    if ( G_LIKELY (xfpm_xfconf_object != NULL) )
     {
 	g_object_ref (xfpm_xfconf_object);
     }