]> www.fi.muni.cz Git - evince.git/commitdiff
[comics] Correct check for exit status
authorJuanjo Marín <juanj.marin@juntadeandalucia.es>
Sun, 26 Apr 2009 10:30:49 +0000 (14:30 +0400)
committerNickolay V. Shmyrev <nshmyrev@yandex.ru>
Sun, 26 Apr 2009 10:30:49 +0000 (14:30 +0400)
Status of the dvipdfm needs to be checked after exit. Fixes
GNOME bug #579656.

backend/comics/comics-document.c
backend/dvi/dvi-document.c

index dc5a8b0dde79300b24ed5888bb8c0800ab40e00b..7d450d0122dcc2a2e6a5f2c9e6abc1a69a957cee 100644 (file)
@@ -24,6 +24,8 @@
 #include <string.h>
 #include <glib/gi18n-lib.h>
 #include <gio/gio.h>
+#include <sys/wait.h>
+#include <stdlib.h>
 
 #include "comics-document.h"
 #include "ev-document-misc.h"
@@ -179,7 +181,7 @@ comics_document_load (EvDocument *document,
 
        if (!success) {
                return FALSE;
-       } else if (retval != 0) {
+       } else if (!WIFEXITED(retval) || WEXITSTATUS(retval) != EXIT_SUCCESS) {
                g_set_error_literal (error,
                                      EV_DOCUMENT_ERROR,
                                      EV_DOCUMENT_ERROR_INVALID,
index a6c33408c14d4c741b94e98440b6172e313eb7fb..a1097c94563d4b775db61b9a1108bb6149e94813 100644 (file)
@@ -32,6 +32,8 @@
 
 #include <glib/gi18n-lib.h>
 #include <ctype.h>
+#include <sys/wait.h>
+#include <stdlib.h>
 
 GMutex *dvi_context_mutex = NULL;
 
@@ -398,8 +400,8 @@ dvi_document_file_exporter_end (EvFileExporter *exporter)
 
        if (success == FALSE) {
                g_warning ("Error: %s", err->message);
-       } else if (exit_stat != 0) {
-               g_warning ("Error: dvipdfm exited with non-zero status.");
+       } else if (!WIFEXITED(exit_stat) || WEXITSTATUS(exit_stat) != EXIT_SUCCESS){
+               g_warning ("Error: dvipdfm does not end normally or exit with a failure status.");
        }
 
        if (err)