"Ann and Jason Edmeades" us@the-edmeades.demon.co.uk writes:
This RealizePalette call (UserRealizePalette, windows\painting.c) results in 256 colors being mapped in, and SendMessageA( HWND_BROADCAST, WM_PALETTECHANGED, (WPARAM)hWnd, 0L); to occur. This broadcast hangs attempting to send the message to the first thread as it is in a hung state waiting for another process to end. Under windows, the RealizePalette returns 0, and spy on Windows does not show this message being sent to the 'hung' thread.
The message should probably be sent with SendMessageTimeout with the SMTO_ABORTIFHUNG flag. The only problem is that this flag is not implemented yet...