WebBrowserComponent leaks


#1

I am getting leaks from a WebBrowserComponent that I have instantiated as a child of an existing Component.

Is anyone experiencing the same problem? I am sure that the WebBrowserComponent gets deleted, but the leaks still remains…

They are located in JuceIOleClientSite and ActiveXControlData classes.


#2

The browser should be releasing those - activeX is all a bit of a ref counting nightmare, TBH. I’ll take a look when I get a moment.


#3

I noticed it does leak only on certain conditions: I tried to create another dummy WebBrowserComponent and deleted it immediately after, and that did not cause any additional leaks, so I wonder if it’s only the first instance causing it, or maybe the fact that the dummy one I created was neither added to another component nor set visible to the user…


#4

Has this been fixed in the tip yet? I’m seeing the same thing in 1.50. FWIW, one of the three leaked objects appears to be the IOleClientSite implementation.


#5

Sorry, haven’t had time to debug it yet. Will try to do it soon.


#6

In last version (1.54.9) the problem persits:

[5768] Detected memory leaks!
[5768] Dumping objects ->
[5768] {30764}
[5768] normal block at 0x00AB28D8, 12 bytes long.
[5768] Data: < ? > C4 FC 3F 01 01 00 00 00 DE 0F 08 02
[5768] {30763}
[5768] normal block at 0x02A48440, 16 bytes long.
[5768] Data: <l ? ( > 6C FC 3F 01 01 00 00 00 DE 0F 08 02 D8 28 AB 00
[5768] {30762}
[5768] normal block at 0x00AB2638, 12 bytes long.
[5768] Data: <4 ? @ > 34 FC 3F 01 01 00 00 00 40 84 A4 02
[5768] Object dump complete.

This happens when I create a DialogWindow with a WebBrowserComponent inside and only show the dialog…

Edit: Checked only in Windows, VS2008, W7 x64.


#7

See my comment in juce_win32_ActiveXComponent.cpp, line 100.


#8

Ah, ok. No problem.

Thanks.