All pastes #473758 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-05-06 12:27 UTC
rendered paste body
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index 87566d2..abd7fa6 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -716,19 +716,21 @@ _cairo_ps_surface_emit_scaled_font_subset (cairo_scaled_font_subset_t *font_subs
 static cairo_status_t
 _cairo_ps_surface_emit_font_subsets (cairo_ps_surface_t *surface)
 {
-    cairo_status_t status;
+    cairo_status_t status = CAIRO_STATUS_SUCCESS;
 
     _cairo_output_stream_printf (surface->final_stream,
 				 "%% _cairo_ps_surface_emit_font_subsets\n");
 
-    status = _cairo_scaled_font_subsets_foreach_unscaled (surface->font_subsets,
-                                                          _cairo_ps_surface_emit_unscaled_font_subset,
-                                                          surface);
-    status = _cairo_scaled_font_subsets_foreach_scaled (surface->font_subsets,
-                                                        _cairo_ps_surface_emit_scaled_font_subset,
-                                                        surface);
-    _cairo_scaled_font_subsets_destroy (surface->font_subsets);
-    surface->font_subsets = NULL;
+    if (surface->font_subsets != NULL) {
+	status = _cairo_scaled_font_subsets_foreach_unscaled (surface->font_subsets,
+							      _cairo_ps_surface_emit_unscaled_font_subset,
+							      surface);
+	status = _cairo_scaled_font_subsets_foreach_scaled (surface->font_subsets,
+							    _cairo_ps_surface_emit_scaled_font_subset,
+							    surface);
+	_cairo_scaled_font_subsets_destroy (surface->font_subsets);
+	surface->font_subsets = NULL;
+    }
 
     return status;
 }