From: Robert M. <mar...@us...> - 2005-11-24 07:39:23
|
Update of /cvsroot/jvcl/dev/JVCL3/run In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14279/JVCL3/run Modified Files: JvCaptionButton.pas JvImageList.pas JvOutlookBar.pas JvPcx.pas JvScrollMax.pas JvSpin.pas JvSwitch.pas JvTimeLine.pas JvXPBar.pas JvXPButtons.pas JvXPCheckCtrls.pas JvgCheckBox.pas JvgHint.pas JvgLabel.pas Log Message: secured for GDI resource leak of LoadFromResourceName/ID Index: JvScrollMax.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvScrollMax.pas,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** JvScrollMax.pas 22 Aug 2005 20:10:10 -0000 1.45 --- JvScrollMax.pas 24 Nov 2005 07:39:14 -0000 1.46 *************** *** 629,632 **** --- 629,633 ---- begin FExpanded := Value; + FButton.Glyph.Assign(nil); // fixes GDI resource leak if FExpanded then FButton.Glyph.LoadFromResourceName(HInstance, 'JvScrollMaxBandBTNMINUS') Index: JvImageList.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvImageList.pas,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** JvImageList.pas 28 Oct 2005 08:37:22 -0000 1.49 --- JvImageList.pas 24 Nov 2005 07:39:14 -0000 1.50 *************** *** 914,918 **** if Trim(ResourceIds[i]) <> '' then try ! // load resource ResStream := nil; try --- 914,918 ---- if Trim(ResourceIds[i]) <> '' then try ! // load resource ResStream := nil; try *************** *** 922,925 **** --- 922,926 ---- ResStream := nil; end; + Bmp.Assign(nil); // fixes GDI resource leak if ResStream <> nil then Bmp.LoadFromResourceName(HInstance, ResourceIds[i]) *************** *** 933,937 **** end; ! // add bitmap if not Bmp.Empty and (Bmp.Width > 0) and (Bmp.Height > 0) then begin --- 934,938 ---- end; ! // add bitmap if not Bmp.Empty and (Bmp.Width > 0) and (Bmp.Height > 0) then begin Index: JvgHint.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvgHint.pas,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** JvgHint.pas 15 Sep 2005 07:22:55 -0000 1.31 --- JvgHint.pas 24 Nov 2005 07:39:14 -0000 1.32 *************** *** 196,200 **** --- 196,203 ---- end; if Glyph.Empty then + begin + Glyph.Assign(nil); // fixes GDI resource leak Glyph.LoadFromResourceName(HInstance, 'JvgHintHELP'); + end; end; Index: JvCaptionButton.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvCaptionButton.pas,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** JvCaptionButton.pas 29 Oct 2005 16:27:15 -0000 1.52 --- JvCaptionButton.pas 24 Nov 2005 07:39:14 -0000 1.53 *************** *** 687,690 **** --- 687,691 ---- if Handle > 0 then try + ABitmap.Assign(nil); // fixes GDI resource leak ABitmap.LoadFromResourceName(Handle, TranslateBitmapFileName(BitmapFileNameW)); { (rb) can't determine actual transparent color? } Index: JvTimeLine.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvTimeLine.pas,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** JvTimeLine.pas 28 Oct 2005 08:37:23 -0000 1.50 --- JvTimeLine.pas 24 Nov 2005 07:39:14 -0000 1.51 *************** *** 1108,1111 **** --- 1108,1112 ---- Bmp.LoadFromResourceName(HInstance, 'JvCustomTimeLineITEMLEFT'); FItemHintImageList.Add(Bmp, nil); + Bmp.Assign(nil); // fixes GDI resource leak Bmp.LoadFromResourceName(HInstance, 'JvCustomTimeLineITEMRIGHT'); FItemHintImageList.Add(Bmp, nil); Index: JvXPCheckCtrls.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvXPCheckCtrls.pas,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** JvXPCheckCtrls.pas 17 Feb 2005 10:21:18 -0000 1.21 --- JvXPCheckCtrls.pas 24 Nov 2005 07:39:14 -0000 1.22 *************** *** 391,394 **** --- 391,395 ---- try Bitmap.Transparent := True; + Bitmap.Assign(nil); // fixes GDI resource leak Bitmap.LoadFromResourceName(HInstance, 'JvXPCheckboxCHECKBOX'); if Theme = WindowsXP then Index: JvXPBar.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvXPBar.pas,v retrieving revision 1.95 retrieving revision 1.96 diff -C2 -d -r1.95 -r1.96 *** JvXPBar.pas 21 Oct 2005 12:52:56 -0000 1.95 --- JvXPBar.pas 24 Nov 2005 07:39:14 -0000 1.96 *************** *** 2226,2229 **** --- 2226,2230 ---- Index := 2; // down end; + Bitmap.Assign(nil); // fixes GDI resource leak if FCollapsed then Bitmap.LoadFromResourceName(HInstance, 'JvXPCustomWinXPBarEXPAND' + IntToStr(Index)) Index: JvgCheckBox.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvgCheckBox.pas,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** JvgCheckBox.pas 22 Aug 2005 20:10:10 -0000 1.35 --- JvgCheckBox.pas 24 Nov 2005 07:39:14 -0000 1.36 *************** *** 877,885 **** begin if not Assigned(FGlyphOn) then ! FGlyphOn := TBitmap.Create; if not Assigned(FGlyphOff) then ! FGlyphOff := TBitmap.Create; if not Assigned(FGlyphDisabled) then ! FGlyphDisabled := TBitmap.Create; FGlyphOn.LoadFromResourceName(HInstance, 'JvgON'); FGlyphOff.LoadFromResourceName(HInstance, 'JvgOFF'); --- 877,891 ---- begin if not Assigned(FGlyphOn) then ! FGlyphOn := TBitmap.Create ! else ! FGlyphOn.Assign(nil); // fixes GDI resource leak if not Assigned(FGlyphOff) then ! FGlyphOff := TBitmap.Create ! else ! FGlyphOff.Assign(nil); // fixes GDI resource leak if not Assigned(FGlyphDisabled) then ! FGlyphDisabled := TBitmap.Create ! else ! FGlyphDisabled.Assign(nil); // fixes GDI resource leak FGlyphOn.LoadFromResourceName(HInstance, 'JvgON'); FGlyphOff.LoadFromResourceName(HInstance, 'JvgOFF'); Index: JvSpin.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvSpin.pas,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -d -r1.72 -r1.73 *** JvSpin.pas 9 Sep 2005 10:04:39 -0000 1.72 --- JvSpin.pas 24 Nov 2005 07:39:14 -0000 1.73 *************** *** 2402,2408 **** --- 2402,2410 ---- if not CustomGlyphs then begin + UpArrow.Assign(nil); // fixes GDI resource leak UpArrow.LoadFromResourceName(HInstance, sSpinUpBtn); UpArrow.TransparentColor := clWhite; UpArrow.Transparent := True; + DownArrow.Assign(nil); // fixes GDI resource leak DownArrow.LoadFromResourceName(HInstance, sSpinDownBtn); DownArrow.TransparentColor := clWhite; *************** *** 2447,2453 **** --- 2449,2457 ---- if not CustomGlyphs then begin + UpArrow.Assign(nil); // fixes GDI resource leak UpArrow.LoadFromResourceName(HInstance, sSpinUpBtnPole); UpArrow.TransparentColor := clWhite; UpArrow.Transparent := True; + DownArrow.Assign(nil); // fixes GDI resource leak DownArrow.LoadFromResourceName(HInstance, sSpinDownBtnPole); DownArrow.TransparentColor := clWhite; Index: JvSwitch.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvSwitch.pas,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** JvSwitch.pas 22 Aug 2005 20:10:10 -0000 1.30 --- JvSwitch.pas 24 Nov 2005 07:39:14 -0000 1.31 *************** *** 287,290 **** --- 287,291 ---- else begin + FBitmaps[Index <> 0].Assign(nil); // fixes GDI resource leak FBitmaps[Index <> 0].LoadFromResourceName(HInstance, ResName[Index <> 0]); Exclude(FUserBitmaps, Index <> 0); Index: JvOutlookBar.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvOutlookBar.pas,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** JvOutlookBar.pas 28 Oct 2005 08:37:23 -0000 1.75 --- JvOutlookBar.pas 24 Nov 2005 07:39:14 -0000 1.76 *************** *** 1384,1387 **** --- 1384,1388 ---- Visible := False; Transparent := False; + Bmp.Assign(nil); // fixes GDI resource leak Bmp.LoadFromResourceName(HInstance, 'JvCustomOutlookBarDOWNARROW'); Glyph := Bmp; Index: JvgLabel.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvgLabel.pas,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** JvgLabel.pas 15 Sep 2005 10:19:43 -0000 1.35 --- JvgLabel.pas 24 Nov 2005 07:39:14 -0000 1.36 *************** *** 1332,1335 **** --- 1332,1337 ---- //=== { TJvgGlyphLabel } ===================================================== + // (rom) Glyph handling is a mess + constructor TJvgGlyphLabel.Create(AOwner: TComponent); begin *************** *** 1414,1417 **** --- 1416,1421 ---- else begin + FGlyphOn.Assign(nil); // fixes GDI resource leak + FGlyphOff.Assign(nil); // fixes GDI resource leak FGlyphOn.LoadFromResourceName(HInstance, 'JvgON'); FGlyphOff.LoadFromResourceName(HInstance, 'JvgOFF'); Index: JvXPButtons.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvXPButtons.pas,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** JvXPButtons.pas 8 Oct 2005 18:41:13 -0000 1.28 --- JvXPButtons.pas 24 Nov 2005 07:39:14 -0000 1.29 *************** *** 869,873 **** Bitmap := TBitmap.Create; try ! Bitmap.LoadFromResourceName(HInstance, PChar('JvXPCustomToolButton' + Copy(GetEnumName(TypeInfo(TJvXPToolType), Ord(FToolType)), 3, MaxInt))); if (dsClicked in DrawState) and (dsHighlight in DrawState) then --- 869,875 ---- Bitmap := TBitmap.Create; try ! Bitmap.Assign(nil); // fixes GDI resource leak ! Bitmap.LoadFromResourceName(HInstance, ! PChar('JvXPCustomToolButton' + Copy(GetEnumName(TypeInfo(TJvXPToolType), Ord(FToolType)), 3, MaxInt))); if (dsClicked in DrawState) and (dsHighlight in DrawState) then Index: JvPcx.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvPcx.pas,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** JvPcx.pas 17 Feb 2005 10:20:45 -0000 1.24 --- JvPcx.pas 24 Nov 2005 07:39:14 -0000 1.25 *************** *** 81,84 **** --- 81,85 ---- Stream: TStream; begin + Assign(nil); // fixes GDI resource leak if ResType = RT_BITMAP then inherited LoadFromResourceName(Instance, ResName) *************** *** 100,103 **** --- 101,105 ---- Stream: TStream; begin + Assign(nil); // fixes GDI resource leak if ResType = RT_BITMAP then inherited LoadFromResourceID(Instance, ResID) |