Rework search_close_pid() and let it handle the case when the grep command was killed externally.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3253 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
Enrico Tröger 2008-11-19 17:31:54 +00:00
parent 6e727352f1
commit 800780e2b7
2 changed files with 35 additions and 23 deletions

View File

@ -1,3 +1,10 @@
2008-11-19 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/search.c:
Rework search_close_pid() and let it handle the case when the grep
command was killed externally.
2008-11-18 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de> 2008-11-18 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/notebook.c: * src/notebook.c:

View File

@ -1428,24 +1428,30 @@ static void search_close_pid(GPid child_pid, gint status, gpointer user_data)
#ifdef G_OS_UNIX #ifdef G_OS_UNIX
const gchar *msg = _("Search failed (see Help->Debug Messages for details)."); const gchar *msg = _("Search failed (see Help->Debug Messages for details).");
gint color = COLOR_DARK_RED; gint color = COLOR_DARK_RED;
gint exit_status = 1;
if (WIFEXITED(status)) if (WIFEXITED(status))
{ {
switch (WEXITSTATUS(status)) exit_status = WEXITSTATUS(status);
}
else if (WIFSIGNALED(status))
{
exit_status = -1;
g_warning("Find in Files: The command failed unexpectedly (signal received).");
}
switch (exit_status)
{ {
case 0: case 0:
{ {
gint count = gtk_tree_model_iter_n_children( gint count = gtk_tree_model_iter_n_children(
GTK_TREE_MODEL(msgwindow.store_msg), NULL) - 1; GTK_TREE_MODEL(msgwindow.store_msg), NULL) - 1;
gchar *text = ngettext(
"Search completed with %d match.",
"Search completed with %d matches.", count);
msgwin_msg_add_fmt(COLOR_BLUE, -1, NULL, msgwin_msg_add_fmt(COLOR_BLUE, -1, NULL, text, count);
ngettext("Search completed with %d match.", ui_set_statusbar(FALSE, text, count);
"Search completed with %d matches.", count),
count);
ui_set_statusbar(FALSE,
ngettext("Search completed with %d match.",
"Search completed with %d matches.", count),
count);
break; break;
} }
case 1: case 1:
@ -1456,7 +1462,6 @@ static void search_close_pid(GPid child_pid, gint status, gpointer user_data)
ui_set_statusbar(FALSE, "%s", msg); ui_set_statusbar(FALSE, "%s", msg);
break; break;
} }
}
#endif #endif
utils_beep(); utils_beep();