40 lines
1.3 KiB
Diff
40 lines
1.3 KiB
Diff
diff -ruNp a/app/xcf/xcf-load.c b/app/xcf/xcf-load.c
|
|
--- a/app/xcf/xcf-load.c 2017-04-30 23:47:39.000000000 +0200
|
|
+++ b/app/xcf/xcf-load.c 2022-12-06 13:56:21.018561154 +0100
|
|
@@ -657,7 +657,12 @@ xcf_load_image_props (XcfInfo *info,
|
|
break;
|
|
|
|
case PROP_PATHS:
|
|
- xcf_load_old_paths (info, image);
|
|
+ {
|
|
+ goffset base = info->cp;
|
|
+
|
|
+ if (! xcf_load_old_paths (info, image))
|
|
+ xcf_seek_pos (info, base + prop_size, NULL);
|
|
+ }
|
|
break;
|
|
|
|
case PROP_USER_UNIT:
|
|
@@ -1765,8 +1770,11 @@ xcf_load_old_paths (XcfInfo *info,
|
|
info->cp += xcf_read_int32 (info->fp, &last_selected_row, 1);
|
|
info->cp += xcf_read_int32 (info->fp, &num_paths, 1);
|
|
|
|
+/* GIMP_LOG (XCF, "Number of old paths: %u", num_paths); */
|
|
+
|
|
while (num_paths-- > 0)
|
|
- xcf_load_old_path (info, image);
|
|
+ if (! xcf_load_old_path (info, image))
|
|
+ return FALSE;
|
|
|
|
active_vectors =
|
|
GIMP_VECTORS (gimp_container_get_child_by_index (gimp_image_get_vectors (image),
|
|
@@ -1817,7 +1825,7 @@ xcf_load_old_path (XcfInfo *info,
|
|
}
|
|
else if (version != 1)
|
|
{
|
|
- g_warning ("Unknown path type. Possibly corrupt XCF file");
|
|
+ g_warning ("Unknown path type (version: %u). Possibly corrupt XCF file.\n", version);
|
|
|
|
return FALSE;
|
|
}
|