From 4e24a4cd67a7d0147d52764546ce9dfbd215f59c Mon Sep 17 00:00:00 2001 From: Mark van Renswoude Date: Thu, 7 Oct 2004 18:21:44 +0000 Subject: [PATCH] Fixed: DrawGraphic checks AIndex, caused infinite AVs otherwise when using an invalid index --- Packages/D6/X2CLGLD.cfg | 4 +-- Packages/D6/X2CLGLD.dof | 55 ++++++++++++++++++++++++++++++++++---- Source/X2CLGraphicList.pas | 3 +++ 3 files changed, 55 insertions(+), 7 deletions(-) diff --git a/Packages/D6/X2CLGLD.cfg b/Packages/D6/X2CLGLD.cfg index 6e647be..01b0052 100644 --- a/Packages/D6/X2CLGLD.cfg +++ b/Packages/D6/X2CLGLD.cfg @@ -32,5 +32,5 @@ -M -$M16384,1048576 -K$00400000 --LE"c:\delphi6\Projects\Bpl" --LN"c:\delphi6\Projects\Bpl" +-LE"c:\program files\borland\delphi7\Projects\Bpl" +-LN"c:\program files\borland\delphi7\Projects\Bpl" diff --git a/Packages/D6/X2CLGLD.dof b/Packages/D6/X2CLGLD.dof index d708162..0809ddc 100644 --- a/Packages/D6/X2CLGLD.dof +++ b/Packages/D6/X2CLGLD.dof @@ -1,5 +1,5 @@ [FileVersion] -Version=6.0 +Version=7.0 [Compiler] A=8 B=0 @@ -30,6 +30,55 @@ Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +NamespacePrefix= +SymbolDeprecated=1 +SymbolLibrary=1 +SymbolPlatform=1 +UnitLibrary=1 +UnitPlatform=1 +UnitDeprecated=1 +HResultCompat=1 +HidingMember=1 +HiddenVirtual=1 +Garbage=1 +BoundsError=1 +ZeroNilCompat=1 +StringConstTruncated=1 +ForLoopVarVarPar=1 +TypedConstVarPar=1 +AsgToTypedConst=1 +CaseLabelRange=1 +ForVariable=1 +ConstructingAbstract=1 +ComparisonFalse=1 +ComparisonTrue=1 +ComparingSignedUnsigned=1 +CombiningSignedUnsigned=1 +UnsupportedConstruct=1 +FileOpen=1 +FileOpenUnitSrc=1 +BadGlobalSymbol=1 +DuplicateConstructorDestructor=1 +InvalidDirective=1 +PackageNoLink=1 +PackageThreadVar=1 +ImplicitImport=1 +HPPEMITIgnored=1 +NoRetVal=1 +UseBeforeDef=1 +ForLoopVarUndef=1 +UnitNameMismatch=1 +NoCFGFileFound=1 +MessageDirective=1 +ImplicitVariants=1 +UnicodeToLocale=1 +LocaleToUnicode=1 +ImagebaseMultiple=1 +SuspiciousTypecast=1 +PrivatePropAccessor=1 +UnsafeType=1 +UnsafeCode=1 +UnsafeCast=1 [Linker] MapFile=3 OutputObjs=0 @@ -56,10 +105,6 @@ HostApplication= Launcher= UseLauncher=0 DebugCWD= -[Language] -ActiveLang= -ProjectLang= -RootDir= [Version Info] IncludeVerInfo=1 AutoIncBuild=0 diff --git a/Source/X2CLGraphicList.pas b/Source/X2CLGraphicList.pas index 74cdb7a..5de93c9 100644 --- a/Source/X2CLGraphicList.pas +++ b/Source/X2CLGraphicList.pas @@ -523,6 +523,9 @@ var begin Result := False; + if (AIndex < 0) or (AIndex >= Count) then + exit; + if (not Assigned(FContainer)) or (not Assigned(FContainer.Graphics[AIndex].Picture.Graphic)) or (FContainer.Graphics[AIndex].Picture.Graphic.Empty) then