static GimpValueArray * get_parasite_invoker (GimpProcedure *procedure, Gimp *gimp, GimpContext *context, GimpProgress *progress, const GimpValueArray *args, GError **error) { gboolean success = TRUE; GimpValueArray *return_vals; const gchar *name; GimpParasite *parasite = NULL; name = g_value_get_string (gimp_value_array_index (args, 0)); if (success) { parasite = gimp_parasite_copy (gimp_parasite_find (gimp, name)); if (! parasite) success = FALSE; } return_vals = gimp_procedure_get_return_values (procedure, success, error ? *error : NULL); if (success) g_value_take_boxed (gimp_value_array_index (return_vals, 1), parasite); return return_vals; }
void jpeg_exif_rotate_query (gint32 image_ID, gint orientation) { GimpParasite *parasite; gboolean query = load_interactive; if (orientation < 2 || orientation > 8) return; parasite = gimp_parasite_find (JPEG_EXIF_ROTATE_PARASITE); if (parasite) { if (strncmp (gimp_parasite_data (parasite), "yes", gimp_parasite_data_size (parasite)) == 0) { query = FALSE; } else if (strncmp (gimp_parasite_data (parasite), "no", gimp_parasite_data_size (parasite)) == 0) { gimp_parasite_free (parasite); return; } gimp_parasite_free (parasite); } if (query && ! jpeg_exif_rotate_query_dialog (image_ID)) return; jpeg_exif_rotate (image_ID, orientation); }