[anjuta] language-support-cpp-java: reapplied previous commit. bgo#610397 bgo#610404
- From: Massimo Cora' <mcora src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta] language-support-cpp-java: reapplied previous commit. bgo#610397 bgo#610404
- Date: Fri, 19 Feb 2010 16:25:12 +0000 (UTC)
commit 56c371bdbe061f5cfb1d1433305e1d9ed6ce100b
Author: Massimo Corà <mcora src gnome org>
Date: Fri Feb 19 17:22:29 2010 +0100
language-support-cpp-java: reapplied previous commit. bgo#610397 bgo#610404
Ref commit a0a6e6519ef369d069f33185b969756966899db7. Now cpp-assist can cancel
async queries.
.../language-support-cpp-java/cpp-java-assist.c | 30 +++++++++++++++++--
1 files changed, 26 insertions(+), 4 deletions(-)
---
diff --git a/plugins/language-support-cpp-java/cpp-java-assist.c b/plugins/language-support-cpp-java/cpp-java-assist.c
index b047f35..a3bb433 100644
--- a/plugins/language-support-cpp-java/cpp-java-assist.c
+++ b/plugins/language-support-cpp-java/cpp-java-assist.c
@@ -82,6 +82,10 @@ struct _CppJavaAssistPriv {
gboolean async_file : 1;
gboolean async_system : 1;
gboolean async_project : 1;
+
+ GCancellable* cancel_system;
+ GCancellable* cancel_file;
+ GCancellable* cancel_project;
};
static gchar*
@@ -430,16 +434,25 @@ cpp_java_assist_create_word_completion_cache (CppJavaAssist *assist)
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;
@@ -460,7 +473,8 @@ cpp_java_assist_create_word_completion_cache (CppJavaAssist *assist)
IANJUTA_SYMBOL_FIELD_TYPE|
IANJUTA_SYMBOL_FIELD_ACCESS|
IANJUTA_SYMBOL_FIELD_KIND,
- pattern, file, -1, -1, NULL,
+ pattern, file, -1, -1,
+ assist->priv->cancel_file,
notify, (IAnjutaSymbolManagerSearchCallback) on_query_data, assist,
NULL);
g_object_unref (file);
@@ -480,7 +494,7 @@ cpp_java_assist_create_word_completion_cache (CppJavaAssist *assist)
IANJUTA_SYMBOL_FIELD_ACCESS|
IANJUTA_SYMBOL_FIELD_KIND,
pattern, IANJUTA_SYMBOL_MANAGER_SEARCH_FS_PUBLIC, -1, -1,
- NULL,
+ assist->priv->cancel_project,
notify, (IAnjutaSymbolManagerSearchCallback) on_query_data, assist,
NULL);
@@ -498,14 +512,15 @@ cpp_java_assist_create_word_completion_cache (CppJavaAssist *assist)
IANJUTA_SYMBOL_FIELD_ACCESS|
IANJUTA_SYMBOL_FIELD_KIND,
pattern, IANJUTA_SYMBOL_MANAGER_SEARCH_FS_PUBLIC, -1, -1,
- NULL,
+ assist->priv->cancel_system,
notify, (IAnjutaSymbolManagerSearchCallback) on_query_data, assist,
NULL);
}
g_free (pattern);
g_free (assist->priv->search_cache);
assist->priv->search_cache = g_strdup (assist->priv->pre_word);
- // Take a reference on CppJavaAssist until queries finish
+
+ /* Take a reference on CppJavaAssist until queries finish */
g_object_ref (assist);
DEBUG_PRINT ("Started async search for: %s", assist->priv->pre_word);
}
@@ -1131,6 +1146,10 @@ static void
cpp_java_assist_init (CppJavaAssist *assist)
{
assist->priv = g_new0 (CppJavaAssistPriv, 1);
+
+ assist->priv->cancel_file = g_cancellable_new();
+ assist->priv->cancel_project = g_cancellable_new();
+ assist->priv->cancel_system = g_cancellable_new();
}
static void
@@ -1143,6 +1162,9 @@ cpp_java_assist_finalize (GObject *object)
{
g_free (assist->priv->calltip_context);
assist->priv->calltip_context = NULL;
+ g_object_unref (assist->priv->cancel_file);
+ g_object_unref (assist->priv->cancel_project);
+ g_object_unref (assist->priv->cancel_system);
}
g_free (assist->priv);
G_OBJECT_CLASS (cpp_java_assist_parent_class)->finalize (object);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]