Ulrich Weigand <[EMAIL PROTECTED]> writes: > The problem is that GDI objects are allocated using LMEM_MOVEABLE. > This means that their memory blocks reside at addresses which > are congruent 2 modulo 4. These pointers are then typecast to > structure types with minimum alignment of 4 (on Sparc 32-bit), > which is Not Good ;-) > > The fix is somewhat silly: I simply allocate an additional > 2 bytes and let the structure start at the next 4byte boundary. > > Do you have any better idea? Maybe we should just forget about > the GDI local heap and allocate everything on the large heap? I'm afraid some apps may rely on the memory layout of certain GDI objects, so your hack is probably the only solution. I'd suggest doing this directly in the LOCAL_* functions though. -- Alexandre Julliard [EMAIL PROTECTED]