[PATCH try2 1/2] wininet: Track child handles, free all child handles on WININET_FreeHandle as native.

Misha Koshelev mk144210 at bcm.edu
Thu Sep 20 20:59:40 CDT 2007

Fixes bug #9479 while keeping out all the casts that I brought in my first version
(see Jacek's comments here:
http://www.winehq.org/pipermail/wine-devel/2007-September/059124.html )

As a reminder, this bug depends on freeing a wininet handle also freeing child handles as
occurs on native.

I believe doing hte list_init( &info->children ) in WININET_AllocHandle makes sense as prior to
a handle being created there can't be any children. In theory, all the list_add_head's can be
placed into a separate function (say a WININET_AddChild that does the WININET_AddRef and list_add_head),
but I didn't think this was worthwhile for a two-line function.
 dlls/wininet/cookie.c   |    2 --
 dlls/wininet/ftp.c      |    3 +++
 dlls/wininet/http.c     |    2 ++
 dlls/wininet/internet.c |   15 ++++++++++++++-
 dlls/wininet/internet.h |    3 +++
 dlls/wininet/urlcache.c |    1 -
 6 files changed, 22 insertions(+), 4 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 89f5a7e50dc26f330f7e43b9c8e938cbbd394157.diff
Type: text/x-patch
Size: 4676 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20070920/ffd4e1e5/attachment.bin 

More information about the wine-patches mailing list