mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-21 03:52:33 +00:00
fixed crash on missing profile (bug #512529).
2008-01-28 Sven Neumann <sven@gimp.org> * plug-ins/common/lcms.c (lcms_dialog): fixed crash on missing profile (bug #512529). svn path=/trunk/; revision=24733
This commit is contained in:
parent
9c4ec2ec2f
commit
ce0734c83a
|
@ -1,3 +1,8 @@
|
|||
2008-01-28 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* plug-ins/common/lcms.c (lcms_dialog): fixed crash on missing
|
||||
profile (bug #512529).
|
||||
|
||||
2008-01-28 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* plug-ins/common/lcms.c (lcms_load_profile)
|
||||
|
|
|
@ -1530,15 +1530,13 @@ lcms_dialog (GimpColorConfig *config,
|
|||
&values->bpc);
|
||||
}
|
||||
|
||||
run = (gimp_dialog_run (GIMP_DIALOG (dialog)) == GTK_RESPONSE_OK);
|
||||
|
||||
gtk_widget_hide (dialog);
|
||||
|
||||
if (run)
|
||||
while ((run = gimp_dialog_run (GIMP_DIALOG (dialog))) == GTK_RESPONSE_OK)
|
||||
{
|
||||
gchar *filename = gimp_color_profile_combo_box_get_active (box);
|
||||
cmsHPROFILE dest_profile;
|
||||
|
||||
gtk_widget_set_sensitive (dialog, FALSE);
|
||||
|
||||
if (filename)
|
||||
{
|
||||
dest_profile = lcms_load_profile (filename, NULL);
|
||||
|
@ -1548,23 +1546,32 @@ lcms_dialog (GimpColorConfig *config,
|
|||
dest_profile = cmsCreate_sRGBProfile ();
|
||||
}
|
||||
|
||||
if (lcms_icc_profile_is_rgb (dest_profile))
|
||||
if (dest_profile)
|
||||
{
|
||||
if (apply)
|
||||
success = lcms_image_apply_profile (image,
|
||||
src_profile, dest_profile,
|
||||
filename,
|
||||
values->intent, values->bpc);
|
||||
if (lcms_icc_profile_is_rgb (dest_profile))
|
||||
{
|
||||
if (apply)
|
||||
success = lcms_image_apply_profile (image,
|
||||
src_profile, dest_profile,
|
||||
filename,
|
||||
values->intent,
|
||||
values->bpc);
|
||||
else
|
||||
success = lcms_image_set_profile (image,
|
||||
dest_profile, filename, TRUE);
|
||||
}
|
||||
else
|
||||
success = lcms_image_set_profile (image,
|
||||
dest_profile, filename, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
gimp_message (_("Destination profile is not for RGB color space."));
|
||||
{
|
||||
gimp_message (_("Destination profile is not for RGB color space."));
|
||||
}
|
||||
|
||||
cmsCloseProfile (dest_profile);
|
||||
}
|
||||
|
||||
cmsCloseProfile (dest_profile);
|
||||
if (success)
|
||||
break;
|
||||
else
|
||||
gtk_widget_set_sensitive (dialog, TRUE);
|
||||
}
|
||||
|
||||
gtk_widget_destroy (dialog);
|
||||
|
|
Loading…
Reference in a new issue