static void make_preview (void) { destroy_preview (); if (jsvals.preview) { gchar *tn = gimp_temp_name ("jpeg"); if (! undo_touched) { /* we freeze undo saving so that we can avoid sucking up * tile cache with our unneeded preview steps. */ gimp_image_undo_freeze (preview_image_ID); undo_touched = TRUE; } save_image (tn, preview_image_ID, drawable_ID_global, orig_image_ID_global, TRUE, NULL); if (display_ID == -1) display_ID = gimp_display_new (preview_image_ID); } else { gtk_label_set_text (GTK_LABEL (preview_size), _("File size: unknown")); gimp_displays_flush (); } }
static GValueArray * image_undo_freeze_invoker (GimpProcedure *procedure, Gimp *gimp, GimpContext *context, GimpProgress *progress, const GValueArray *args, GError **error) { gboolean success = TRUE; GValueArray *return_vals; GimpImage *image; gboolean frozen = FALSE; image = gimp_value_get_image (&args->values[0], gimp); if (success) { #if 0 GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in; if (plug_in) success = gimp_plug_in_cleanup_undo_freeze (plug_in, image); #endif if (success) frozen = gimp_image_undo_freeze (image); } return_vals = gimp_procedure_get_return_values (procedure, success, error ? *error : NULL); if (success) g_value_set_boolean (&return_vals->values[1], frozen); return return_vals; }