$OpenBSD: patch-src_translate-session_c,v 1.1.1.1 2011/11/14 16:38:07 sthen Exp $ upstream patch --- src/translate-session.c.orig Mon Nov 14 16:06:02 2011 +++ src/translate-session.c Mon Nov 14 16:06:28 2011 @@ -703,7 +703,14 @@ translate_session_translate_thread (gpointer data, gpo GError *tmp_err = NULL; g_mutex_lock(info->mutex); - ret = info->err != NULL; + if (info->err) + { + ret = TRUE; + if (info->progress_cond) + g_cond_signal(info->progress_cond); + } + else + ret = FALSE; g_mutex_unlock(info->mutex); if (ret) @@ -728,6 +735,9 @@ translate_session_translate_thread (gpointer data, gpo else g_propagate_error(&info->err, tmp_err); + if (info->progress_cond) + g_cond_signal(info->progress_cond); + g_mutex_unlock(info->mutex); return; @@ -759,6 +769,9 @@ translate_session_translate_thread (gpointer data, gpo info->err = g_error_new(TRANSLATE_SESSION_ERROR, TRANSLATE_SESSION_ERROR_NO_SERVICE, _("no service could translate chunk")); + + if (info->progress_cond) + g_cond_signal(info->progress_cond); } g_mutex_unlock(info->mutex);