Xojo Conferences
XDCMay2019MiamiUSA

[MBS] Leak in QTGraphicsImporter (MBS Xojo Plugin Mailinglist archive)

Back to the thread list
Previous thread: [MBS] [REQ] MenubarMBS.Icon As Graphics
Next thread: [MBS] Weird crashes


Re: [MBS] MIDI Destinations and External Devices   -   Ron Benditt
  [MBS] Leak in QTGraphicsImporter   -   Mike D.
   Re: [MBS] Leak in QTGraphicsImporter   -   Christian Schmitz
    [MBS] Leak using picture.mask   -   Mike D.

[MBS] Leak in QTGraphicsImporter
Date: 24.04.03 20:47 (Thu, 24 Apr 2003 12:47:55 -0700)
From: Mike D.
This code leaks about 220k of memory per run (about 2k per loop) when
used with an 812k (1600x450) jpeg image on Windows XP, MBS Plugin
3.2pr13, Quicktime 6.1.1.

dim i as integer
dim qt as QTGraphicsImporterMBS
dim r as IntegerRectMBS

if f <> nil then
for i = 1 to 100
qt = new QTGraphicsImporterMBS
qt.openFile f
r = new IntegerRectMBS
r.top = 0
r.left = 0
r.height = canvas2.height
r.width = canvas2.width
qt.currentBounds = r
qt.quality = &h400
p2 = qt.makePicture(canvas2.width,canvas2.height)
next
end if

I belive it is the "qt.makePicture" line which leaks. Can you
investigate please? This is a show-stopper for me.

Re: [MBS] Leak in QTGraphicsImporter
Date: 25.04.03 16:34 (Fri, 25 Apr 2003 17:34:51 +0200)
From: Christian Schmitz
> This code leaks about 220k of memory per run (about 2k per loop) when
> used with an 812k (1600x450) jpeg image on Windows XP, MBS Plugin
> 3.2pr13, Quicktime 6.1.1.

Ok.

> I belive it is the "qt.makePicture" line which leaks. Can you
> investigate please? This is a show-stopper for me.

I can't find one.
Can you check wether it's a RB object which is not released or something
else? The runtime object may tell you this.
(objectcount should not increase between the loops)

I made this project "Memory Leak tests" some time ago and when I try the
makepicture test, it leaks less than 20KB on 1000 runs.

On the first run, QuickTime loads some things which can be 200 K big, so
you may have a leak of 200 for the QuickTime properties and buffers on
the first run.

*later*

For the third time, the 1000 run test finished leaking 0 bytes, so on
the second run it may be that the memory allocation system needed some
more handles and increased one of the lists made for memory allocation
by 20 K?

mfg
Christian