On Sun, 11 Jun 2006 20:26:11 -0700, Chris wrote:
Aren't icons already created on the global heap? They're created with GlobalAlloc16, and (optionally) added to a link list of shared icons.
No, this is a confusing Win32ism. The "global heap" is not actually global, it's process-local. There *is* a shared heap in Windows 9x but not in NT.
GDI objects are stored in the kernel in Windows, and so are "shared" via that mechanism. We do the same thing by moving things into the wineserver and transporting them via RPC.
Actually images are stored as pixmaps in the X server, so it'd be awfully convenient if we could leverage that but I suspect the need to support non-X display systems means we have to do it the hard way, by shovelling image bits across the socket.
thanks -mike