mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-09 06:26:06 +02:00
* Applied patch as per bug #14083, added on_unknown_marker handler
git-svn-id: trunk@17748 -
This commit is contained in:
parent
769f0d8008
commit
341d4a9c1f
@ -132,6 +132,8 @@ procedure jpeg_save_markers (cinfo : j_decompress_ptr;
|
|||||||
procedure jpeg_set_marker_processor (cinfo : j_decompress_ptr;
|
procedure jpeg_set_marker_processor (cinfo : j_decompress_ptr;
|
||||||
marker_code : int;
|
marker_code : int;
|
||||||
routine : jpeg_marker_parser_method);
|
routine : jpeg_marker_parser_method);
|
||||||
|
Var
|
||||||
|
on_unknown_marker : function (cinfo : j_decompress_ptr) : int; far;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
@ -2327,12 +2329,19 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
else { must be DHP, EXP, JPGn, or RESn }
|
else { must be DHP, EXP, JPGn, or RESn }
|
||||||
{ For now, we treat the reserved markers as fatal errors since they are
|
if (@on_unknown_marker<>nil) then
|
||||||
likely to be used to signal incompatible JPEG Part 3 extensions.
|
begin
|
||||||
Once the JPEG 3 version-number marker is well defined, this code
|
read_markers:=on_unknown_marker(cinfo);
|
||||||
ought to change! }
|
exit;
|
||||||
ERREXIT1(j_common_ptr(cinfo) , JERR_UNKNOWN_MARKER,
|
end
|
||||||
cinfo^.unread_marker);
|
else if not skip_variable(cinfo) then
|
||||||
|
begin
|
||||||
|
read_markers := JPEG_SUSPENDED;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
{ // This is the previous code.
|
||||||
|
ERREXIT1(j_common_ptr(cinfo) , JERR_UNKNOWN_MARKER,cinfo^.unread_marker);
|
||||||
|
}
|
||||||
end; { end of case }
|
end; { end of case }
|
||||||
{ Successfully processed marker, so reset state variable }
|
{ Successfully processed marker, so reset state variable }
|
||||||
cinfo^.unread_marker := 0;
|
cinfo^.unread_marker := 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user