Do not attempt to use the output driver while it's being destroyed.
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 11 Jul 2020 05:32:30 +0000 (07:32 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 11 Jul 2020 05:32:30 +0000 (07:32 +0200)
src/output/cairo.c
tests/language/stats/examine.at

index e15cb6114ae09d6304c6f64a1e39174b3eaf6c9b..bcb995c68c587ee2116d6b86458e9ecfc3b1e8f8 100644 (file)
@@ -889,9 +889,9 @@ xr_destroy (struct output_driver *driver)
       cairo_surface_finish (xr->surface);
       cairo_status_t status = cairo_status (xr->cairo);
       if (status != CAIRO_STATUS_SUCCESS)
-        msg (ME, _("error drawing output for %s driver: %s"),
-               output_driver_get_name (driver),
-               cairo_status_to_string (status));
+        fprintf (stderr,  _("error drawing output for %s driver: %s"),
+                 output_driver_get_name (driver),
+                 cairo_status_to_string (status));
       cairo_surface_destroy (xr->surface);
 
       cairo_destroy (xr->cairo);
index b7bd3e8ec8a5c296a12ee020023d3b22983ac944..0d9e781488af06158b686cf3fbb1b040f03325b6 100644 (file)
@@ -1268,7 +1268,7 @@ examine x  by g
         /plot = all.
 ])
 dnl This bug only manifested itself on cairo based drivers.
-AT_CHECK([pspp -O format=pdf examine.sps], [1], [ignore], [ignore])
+AT_CHECK([pspp -O format=pdf examine.sps], [0], [ignore], [ignore])
 AT_CLEANUP