[anjuta] symbol-db: Do not notify command-finished also after search command is canceled
- From: Naba Kumar <naba src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta] symbol-db: Do not notify command-finished also after search command is canceled
- Date: Sat, 20 Feb 2010 10:32:21 +0000 (UTC)
commit cbe30266f26b604a9d4189578036201f68c249a0
Author: Naba Kumar <naba gnome org>
Date: Sat Feb 20 12:30:49 2010 +0200
symbol-db: Do not notify command-finished also after search command is canceled
plugins/symbol-db/symbol-db-iface.c | 21 +++++++++++++++------
plugins/symbol-db/symbol-db-search-command.c | 7 +++++++
plugins/symbol-db/symbol-db-search-command.h | 3 +++
3 files changed, 25 insertions(+), 6 deletions(-)
---
diff --git a/plugins/symbol-db/symbol-db-iface.c b/plugins/symbol-db/symbol-db-iface.c
index d66bffd..32776bc 100644
--- a/plugins/symbol-db/symbol-db-iface.c
+++ b/plugins/symbol-db/symbol-db-iface.c
@@ -355,6 +355,15 @@ on_sdb_search_command_data_arrived (AnjutaCommand *command,
callback (cmd_id, IANJUTA_ITERABLE (iterator), callback_user_data);
}
+static void
+on_sdb_search_command_finished (SymbolDBSearchCommand *search_command,
+ guint return_code,
+ AnjutaAsyncNotify *notify)
+{
+ if (!symbol_db_search_command_get_cancelled (search_command))
+ anjuta_async_notify_notify_finished (notify);
+}
+
static gint
do_search_prj_glb_async (SymbolDBSearchCommand *search_command, guint cmd_id,
GCancellable* cancel, AnjutaAsyncNotify *notify,
@@ -392,9 +401,9 @@ do_search_prj_glb_async (SymbolDBSearchCommand *search_command, guint cmd_id,
if (notify)
{
- g_signal_connect_swapped (G_OBJECT (search_command), "command-finished",
- G_CALLBACK (anjuta_async_notify_notify_finished),
- notify);
+ g_signal_connect (G_OBJECT (search_command), "command-finished",
+ G_CALLBACK (on_sdb_search_command_finished),
+ notify);
}
anjuta_command_start (ANJUTA_COMMAND (search_command));
@@ -604,9 +613,9 @@ isymbol_manager_search_file_async (IAnjutaSymbolManager *sm, IAnjutaSymbolType m
if (notify)
{
- g_signal_connect_swapped (G_OBJECT (search_command), "command-finished",
- G_CALLBACK (anjuta_async_notify_notify_finished),
- notify);
+ g_signal_connect (G_OBJECT (search_command), "command-finished",
+ G_CALLBACK (on_sdb_search_command_finished),
+ notify);
}
anjuta_command_start (ANJUTA_COMMAND (search_command));
diff --git a/plugins/symbol-db/symbol-db-search-command.c b/plugins/symbol-db/symbol-db-search-command.c
index 60ebc85..bb35087 100644
--- a/plugins/symbol-db/symbol-db-search-command.c
+++ b/plugins/symbol-db/symbol-db-search-command.c
@@ -317,3 +317,10 @@ symbol_db_search_command_get_iterator_result (SymbolDBSearchCommand* sdbsc)
return priv->iterator_result;
}
+
+gboolean
+symbol_db_search_command_get_cancelled (SymbolDBSearchCommand *sdbsc)
+{
+ return sdbsc->priv->is_cancelled;
+}
+
diff --git a/plugins/symbol-db/symbol-db-search-command.h b/plugins/symbol-db/symbol-db-search-command.h
index 522af8c..c57c3af 100644
--- a/plugins/symbol-db/symbol-db-search-command.h
+++ b/plugins/symbol-db/symbol-db-search-command.h
@@ -82,6 +82,9 @@ symbol_db_search_command_set_session_packages (SymbolDBSearchCommand* sdbsc,
SymbolDBEngineIterator *
symbol_db_search_command_get_iterator_result (SymbolDBSearchCommand* sdbsc);
+/** Returns whether the command has been canceled */
+gboolean
+symbol_db_search_command_get_cancelled (SymbolDBSearchCommand *sdbsc);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]