[anjuta] language-support-cpp-java: Cancel pending async calls during cache destruction



commit f2889605e380ceb6e77e97a3975b18b8406db058
Author: Naba Kumar <naba gnome org>
Date:   Sat Feb 20 12:29:43 2010 +0200

    language-support-cpp-java: Cancel pending async calls during cache destruction
    
    This ensures async calls cancelation during assit finalization, and also to cancel
    them when autocomplete shows scope children.

 .../language-support-cpp-java/cpp-java-assist.c    |   42 ++++++++++----------
 1 files changed, 21 insertions(+), 21 deletions(-)
---
diff --git a/plugins/language-support-cpp-java/cpp-java-assist.c b/plugins/language-support-cpp-java/cpp-java-assist.c
index 4339e3b..1ab7ec4 100644
--- a/plugins/language-support-cpp-java/cpp-java-assist.c
+++ b/plugins/language-support-cpp-java/cpp-java-assist.c
@@ -311,6 +311,27 @@ cpp_java_assist_get_pre_word (IAnjutaEditor* editor, IAnjutaIterable *iter)
 static void
 cpp_java_assist_destroy_completion_cache (CppJavaAssist *assist)
 {
+	if (assist->priv->async_file)
+	{
+		g_cancellable_cancel (assist->priv->cancel_file);
+		assist->priv->async_file = FALSE;
+	}
+	g_cancellable_reset (assist->priv->cancel_file);
+	
+	if (assist->priv->async_system)
+	{
+		g_cancellable_cancel (assist->priv->cancel_system);
+		assist->priv->async_system = FALSE;
+	}
+	g_cancellable_reset (assist->priv->cancel_system);
+	
+	if (assist->priv->async_project)
+	{
+		g_cancellable_cancel (assist->priv->cancel_project);
+		assist->priv->async_project = FALSE;
+	}
+	g_cancellable_reset (assist->priv->cancel_project);
+	
 	if (assist->priv->search_cache)
 	{
 		g_free (assist->priv->search_cache);
@@ -420,27 +441,6 @@ cpp_java_assist_create_word_completion_cache (CppJavaAssist *assist)
 												 MAX_COMPLETIONS);
 	
 	cpp_java_assist_destroy_completion_cache (assist);
-	if (assist->priv->async_file)
-	{
-		g_cancellable_cancel (assist->priv->cancel_file);
-		assist->priv->async_file = FALSE;
-	}
-	g_cancellable_reset (assist->priv->cancel_file);
-	
-	if (assist->priv->async_system)
-	{
-		g_cancellable_cancel (assist->priv->cancel_system);
-		assist->priv->async_system = FALSE;
-	}
-	g_cancellable_reset (assist->priv->cancel_system);
-	
-	if (assist->priv->async_project)
-	{
-		g_cancellable_cancel (assist->priv->cancel_project);
-		assist->priv->async_project = FALSE;
-	}
-	g_cancellable_reset (assist->priv->cancel_project);
-	
 	if (!assist->priv->pre_word || strlen(assist->priv->pre_word) < 3)
 		return;
 



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