]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Use paranoid error checking in liblightdm-gobject
authorRobert Ancell <robert.ancell@canonical.com>
Fri, 7 Oct 2011 22:41:42 +0000 (09:41 +1100)
committerRobert Ancell <robert.ancell@canonical.com>
Fri, 7 Oct 2011 22:41:42 +0000 (09:41 +1100)
liblightdm-gobject/greeter.c
liblightdm-gobject/session.c
liblightdm-gobject/user.c

index a0ee966e57cc994749573bb009af059c2e112329..3c10007e72a7dfc8de3faa1e4e5670685d910d2a 100644 (file)
@@ -122,13 +122,15 @@ static void
 write_message (LightDMGreeter *greeter, guint8 *message, gsize message_length)
 {
     LightDMGreeterPrivate *priv = GET_PRIVATE (greeter);
+    GIOStatus status;
     GError *error = NULL;
 
-    if (g_io_channel_write_chars (priv->to_server_channel, (gchar *) message, message_length, NULL, NULL) != G_IO_STATUS_NORMAL)
+    status = g_io_channel_write_chars (priv->to_server_channel, (gchar *) message, message_length, NULL, &error);
+    if (error)
         g_warning ("Error writing to daemon: %s", error->message);
-    else
-        g_debug ("Wrote %zi bytes to daemon", message_length);
     g_clear_error (&error);
+    if (status == G_IO_STATUS_NORMAL)
+        g_debug ("Wrote %zi bytes to daemon", message_length);
     g_io_channel_flush (priv->to_server_channel, NULL);
 }
 
@@ -373,7 +375,7 @@ read_message (LightDMGreeter *greeter, gsize *length, gboolean block)
                                           n_to_read - priv->n_read,
                                           &n_read,
                                           &error);
-        if (status == G_IO_STATUS_ERROR)
+        if (error)
             g_warning ("Error reading from server: %s", error->message);
         g_clear_error (&error);
         if (status != G_IO_STATUS_NORMAL)
index c2f193defd0bc5d6b142ac434691c6aae998af17..3ebb8ce49dff49e65403546ca620a56671ad1788 100644 (file)
@@ -115,7 +115,7 @@ update_sessions (void)
         return;
 
     directory = g_dir_open (XSESSIONS_DIR, 0, &error);
-    if (!directory)
+    if (error)
         g_warning ("Failed to open sessions directory: %s", error->message);
     g_clear_error (&error);
     if (!directory)
@@ -139,7 +139,7 @@ update_sessions (void)
 
         key_file = g_key_file_new ();
         result = g_key_file_load_from_file (key_file, path, G_KEY_FILE_NONE, &error);
-        if (!result)
+        if (error)
             g_warning ("Failed to load session file %s: %s:", path, error->message);
         g_clear_error (&error);
 
index a6779fbc582ca1e753ba4dc98cc2943c8902bb47..0e832073ae7c15fe31d405f0a5f98d91c2365419 100644 (file)
@@ -203,8 +203,8 @@ load_passwd_file (LightDMUserList *user_list, gboolean emit_add_signal)
     g_debug ("Loading user config from %s", USER_CONFIG_FILE);
 
     config = g_key_file_new ();
-    if (!g_key_file_load_from_file (config, USER_CONFIG_FILE, G_KEY_FILE_NONE, &error) &&
-        !g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT))
+    g_key_file_load_from_file (config, USER_CONFIG_FILE, G_KEY_FILE_NONE, &error);
+    if (error && !g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT))
         g_warning ("Failed to load configuration from %s: %s", USER_CONFIG_FILE, error->message); // FIXME: Don't make warning on no file, just info
     g_clear_error (&error);
 
@@ -393,7 +393,7 @@ update_user (UserAccountObject *object)
                                           -1,
                                           NULL,
                                           &error);
-    if (!result)
+    if (error)
         g_warning ("Error updating user %s: %s", g_dbus_proxy_get_object_path (object->proxy), error->message);
     g_clear_error (&error);
     if (!result)
@@ -472,7 +472,7 @@ user_account_object_new (LightDMUserList *user_list, const gchar *path)
                                            "org.freedesktop.Accounts.User",
                                            NULL,
                                            &error);
-    if (!proxy)
+    if (error)
         g_warning ("Error getting user %s: %s", path, error->message);
     g_clear_error (&error);
     if (!proxy)
@@ -593,7 +593,7 @@ load_session (LightDMUserList *user_list, const gchar *path)
                                           -1,
                                           NULL,
                                           &error);
-    if (!result)
+    if (error)
         g_warning ("Error getting UserName from org.freedesktop.DisplayManager.Session: %s", error->message);
     g_clear_error (&error);
     if (!result)
@@ -686,7 +686,7 @@ update_users (LightDMUserList *user_list)
                                                                   "org.freedesktop.Accounts",
                                                                   NULL,
                                                                   &error);
-    if (!priv->accounts_service_proxy)
+    if (error)
         g_warning ("Error contacting org.freedesktop.Accounts: %s", error->message);
     g_clear_error (&error);
 
@@ -718,7 +718,7 @@ update_users (LightDMUserList *user_list)
                                          -1,
                                          NULL,
                                          &error);
-        if (!result)
+        if (error)
             g_warning ("Error getting user list from org.freedesktop.Accounts: %s", error->message);
         g_clear_error (&error);
         if (!result)
@@ -764,7 +764,7 @@ update_users (LightDMUserList *user_list)
         passwd_file = g_file_new_for_path (PASSWD_FILE);
         priv->passwd_monitor = g_file_monitor (passwd_file, G_FILE_MONITOR_NONE, NULL, &error);
         g_object_unref (passwd_file);
-        if (!priv->passwd_monitor)
+        if (error)
             g_warning ("Error monitoring %s: %s", PASSWD_FILE, error->message);
         else
             g_signal_connect (priv->passwd_monitor, "changed", G_CALLBACK (passwd_changed_cb), user_list);
@@ -779,7 +779,7 @@ update_users (LightDMUserList *user_list)
                                                                  "org.freedesktop.DisplayManager",
                                                                  NULL,
                                                                  &error);
-    if (!priv->display_manager_proxy)
+    if (error)
         g_warning ("Error contacting org.freedesktop.DisplayManager: %s", error->message);
     g_clear_error (&error);
 
@@ -800,7 +800,7 @@ update_users (LightDMUserList *user_list)
                                               -1,
                                               NULL,
                                               &error);
-        if (!result)
+        if (error)
             g_warning ("Error getting session list from org.freedesktop.DisplayManager: %s", error->message);
         g_clear_error (&error);
         if (!result)