7a7d24054f
between languages via web-based language translation sites (google translate and other services). feedback/ok aja@
43 lines
1.1 KiB
Plaintext
43 lines
1.1 KiB
Plaintext
$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);
|