"Andreas Mohr" andi@rhlx01.fht-esslingen.de wrote:
- { /* free its selector array */
- WORD sel = SELECTOROF(bmp->segptr_bits);
- WORD count = (GetSelectorLimit16(sel) + 1) + 0xffff / 0x10000;
^^^^^^^^^^^^^^^^^^ Something wrong here.
BTW, does anyone have an idea how to get rid of the remaining LOCAL_xxx() calls in gdiobj.c ?
GDI objects management should be moved eventually to wineserver. I can confirm Alexandre's suspicion about that undocumented behaviour. At least the following code works on windows2000:
HWND hWnd; HBRUSH hBrush; LOGBRUSH lb; int nbytes;
hWnd = FindWindow(NULL, "Calculator"); assert(hWnd); hBrush = (HBRUSH)GetClassLong(hWnd, GCL_HBRBACKGROUND); assert(hBrush);
nbytes = GetObject(hBrush, sizeof(LOGBRUSH), &lb); assert(nbytes == sizeof(LOGBRUSH));