[Qt-interest] QFileIconProvider "leaks" DLL's (qgifd4.dll, qicod4.dll, QtSvgd4.dll, etc.)

Martin Hofius Martin at hofius-online.com
Wed Aug 19 14:04:06 CEST 2009


Hi Niels,

Am Dienstag, 18. August 2009 schrieb Niels Dekker - no return address:
> QFileIconProvider loads some DLL files that aren't unloaded anymore.
> When I step over the QFileIconProvider constructor in the debugger (MSVC
> 2008), I get the following debug output:
>
>  'Foo.exe': Loaded 'C:\Qt\4.5.2\plugins\imageformats\qgifd4.dll'
>  'Foo.exe': Loaded 'C:\Qt\4.5.2\plugins\imageformats\qicod4.dll'
>  'Foo.exe': Loaded 'C:\Qt\4.5.2\plugins\imageformats\qjpegd4.dll'
>  'Foo.exe': Loaded 'C:\Qt\4.5.2\plugins\imageformats\qmngd4.dll'
>  'Foo.exe': Loaded 'C:\Qt\4.5.2\plugins\imageformats\qsvgd4.dll'
>  'Foo.exe': Loaded 'C:\Qt\4.5.2\bin\QtSvgd4.dll', Symbols loaded.
>  'Foo.exe': Loaded 'C:\Qt\4.5.2\plugins\imageformats\qtiffd4.dll'
>
> Those DLL's remain in memory, and thereby, QtGui4.DLL and QtCore4.dll
> also remain there. Is that a bug? Shouldn't the destructor of
> QFileIconProvider unload those DLL's?  Or should I unload those DLL's
> myself, after using QFileIconProvider, in my own code?  (If so, how
> should I do so?)
let me ask a set of very simple questions: why is it important for you to 
unload these dll's?
If you reload your dll, do you get more than one instance of these qt dll's?
if no: I don't understand your problem
if yes: I agree that it is a memory leak and should be fixed...

Greetings
Martin



More information about the Qt-interest-old mailing list