diff --git a/ChangeLog b/ChangeLog
index 8e411cc601e2619a25bd25cf4bd719b9f763c7e1..a7190d2cbd844e2d04e57ee1ed2b88ec7242f680 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
 
+2009-05-02 12:43 Ali aliov@xfce.org 
+	 * : Fix GLib warning when no laptop_panel found in the system
+
 2009-05-02 10:27 Ali aliov@xfce.org 
 	 * : Fix a compile warning
 
diff --git a/src/xfpm-brightness-hal.c b/src/xfpm-brightness-hal.c
index 738cd07d313746e27db49b6fd13d1fdcc9f7db7a..074c4cc6552eac1a7ffbb0ab1edc3527db673419 100644
--- a/src/xfpm-brightness-hal.c
+++ b/src/xfpm-brightness-hal.c
@@ -479,22 +479,22 @@ xfpm_brightness_hal_finalize (GObject *object)
 
     brg = XFPM_BRIGHTNESS_HAL(object);
     
-    if ( g_signal_handler_is_connected (brg->priv->saver, brg->priv->sig[0]) )
+    if ( brg->priv->saver && g_signal_handler_is_connected (brg->priv->saver, brg->priv->sig[0]) )
 	g_signal_handler_disconnect (G_OBJECT (brg->priv->saver), brg->priv->sig[0]);
     
-    if ( g_signal_handler_is_connected (brg->priv->adapter, brg->priv->sig[1]) )
+    if ( brg->priv->adapter && g_signal_handler_is_connected (brg->priv->adapter, brg->priv->sig[1]) )
 	g_signal_handler_disconnect (G_OBJECT (brg->priv->adapter), brg->priv->sig[1]);
     
-    if ( g_signal_handler_is_connected (brg->priv->button, brg->priv->sig[2]) )
+    if ( brg->priv->button && g_signal_handler_is_connected (brg->priv->button, brg->priv->sig[2]) )
 	g_signal_handler_disconnect (G_OBJECT (brg->priv->button), brg->priv->sig[2]);
 	
-    if ( g_signal_handler_is_connected (brg->priv->idle, brg->priv->sig[3]) )
+    if ( brg->priv->idle && g_signal_handler_is_connected (brg->priv->idle, brg->priv->sig[3]) )
 	g_signal_handler_disconnect (G_OBJECT (brg->priv->idle), brg->priv->sig[3]);
 	
-    if ( g_signal_handler_is_connected (brg->priv->idle, brg->priv->sig[4]) )
+    if ( brg->priv->idle && g_signal_handler_is_connected (brg->priv->idle, brg->priv->sig[4]) )
 	g_signal_handler_disconnect (G_OBJECT (brg->priv->idle), brg->priv->sig[4]);
     
-    if ( g_signal_handler_is_connected (brg->priv->conf, brg->priv->sig[5]) )
+    if ( brg->priv->conf && g_signal_handler_is_connected (brg->priv->conf, brg->priv->sig[5]) )
 	g_signal_handler_disconnect (G_OBJECT (brg->priv->conf), brg->priv->sig[5]);
 	
     if ( brg->priv->proxy )