[gtksourceview] FileLoader: g_task_return for all valid cases



commit a422a72abdd298b8b9ab27b922ccf414501d1e0e
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Sat May 7 11:08:28 2016 +0200

    FileLoader: g_task_return for all valid cases
    
    That way, the GAsyncReadyCallback is always called (in valid cases), so
    the code using a FileLoader can continue its execution.

 gtksourceview/gtksourcefileloader.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)
---
diff --git a/gtksourceview/gtksourcefileloader.c b/gtksourceview/gtksourcefileloader.c
index dcf560f..78263e5 100644
--- a/gtksourceview/gtksourcefileloader.c
+++ b/gtksourceview/gtksourcefileloader.c
@@ -1032,13 +1032,6 @@ gtk_source_file_loader_load_async (GtkSourceFileLoader   *loader,
        g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable));
        g_return_if_fail (loader->priv->task == NULL);
 
-       if (loader->priv->source_buffer == NULL ||
-           loader->priv->file == NULL ||
-           (loader->priv->location == NULL && loader->priv->input_stream_property == NULL))
-       {
-               return;
-       }
-
        reset (loader);
 
        loader->priv->task = g_task_new (loader, cancellable, callback, user_data);
@@ -1048,6 +1041,14 @@ gtk_source_file_loader_load_async (GtkSourceFileLoader   *loader,
        loader->priv->progress_cb_data = progress_callback_data;
        loader->priv->progress_cb_notify = progress_callback_notify;
 
+       if (loader->priv->source_buffer == NULL ||
+           loader->priv->file == NULL ||
+           (loader->priv->location == NULL && loader->priv->input_stream_property == NULL))
+       {
+               g_task_return_boolean (loader->priv->task, FALSE);
+               return;
+       }
+
        DEBUG ({
               g_print ("Start loading\n");
        });


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]