[libgda] bug fix in GdaThreadProvider



commit 5def057e269c2512f695a04460a0615cd13b3748
Author: Vivien Malerba <malerba gnome-db org>
Date:   Sun Sep 6 22:12:39 2009 +0200

    bug fix in GdaThreadProvider
    
    if a statement's execution failed, then its failure
    was never reported to the user

 libgda/thread-wrapper/gda-thread-provider.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/libgda/thread-wrapper/gda-thread-provider.c b/libgda/thread-wrapper/gda-thread-provider.c
index ca0b902..ec1cde4 100644
--- a/libgda/thread-wrapper/gda-thread-provider.c
+++ b/libgda/thread-wrapper/gda-thread-provider.c
@@ -1575,11 +1575,12 @@ gda_thread_provider_handle_async (GdaServerProvider *provider, GdaConnection *cn
 
 	atd = (ThreadConnectionAsyncTask*) cdata->async_tasks->data;
 	res = (GObject*) gda_thread_wrapper_fetch_result (cdata->wrapper, FALSE, atd->jid, &lerror);
-	if (res) {
+	if (res || lerror) {
 		atd->async_cb (provider, cnc, atd->jid, res, lerror, atd->cb_data);
 		if (lerror)
 			g_error_free (lerror);
-		g_object_unref (res);
+		if (res)
+			g_object_unref (res);
 
 		_ThreadConnectionAsyncTask_free (atd);
 		cdata->async_tasks = g_slist_delete_link (cdata->async_tasks, cdata->async_tasks);



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