Re: [PATCH 02/16] comctl32: Add basic structure for IImageList interface
On Wed, Nov 11, 2009 at 12:11 AM, Owen Rudge <orudge(a)codeweavers.com> wrote:
--- dlls/comctl32/imagelist.c | 322 ++++++++++++++++++++++++++++++++++++++++++++- dlls/comctl32/imagelist.h | 3 + 2 files changed, 319 insertions(+), 6 deletions(-)
After that: --- diff --git a/dlls/comctl32/imagelist.h b/dlls/comctl32/imagelist.h index 73ccd8a..51b8635 100644 --- a/dlls/comctl32/imagelist.h +++ b/dlls/comctl32/imagelist.h @@ -30,6 +30,9 @@ /* the ones with offsets at the end are the same as in Windows */ struct _IMAGELIST { + const struct IImageListVtbl *lpVtbl;/* IImageList vtable */ + LONG ref; /* reference count */ + DWORD magic; /* 00: 'SAMX' */ INT cCurImage; /* 04: ImageCount */ INT cMaxImage; /* 08: maximages */ --- let's pray that nobody depends on structure layout :). If it'll be a problem the possible solution could be to use two structure types - one for traditional API and one for com-based. Choosing one of it could be done possibly in ImageList_Create checking for manifest enabled in activation context. All traditional calls should check for that then and apply an offset to pointer to get HIMAGELIST without vtbl. We'll see...
participants (1)
-
Nikolay Sivov