[Wine]err:local:LOCAL_GetBlock not enough space in GDI heap
radu
kenjiru.ro at gmail.com
Wed May 25 13:41:01 CDT 2005
Hello,
I've wrote a program in win32 that does some drawing. After running it
for a while it stops drawing the colors for the shapes I draw using GDI
functions and it throws multiple time this error:
err:local:LOCAL_GetBlock not enough space in GDI heap 10bf for 36 bytes
The WM_PAINT message looks like this:
GetClientRect (m_pMainWnd->m_hWnd, &rc);
hdc = BeginPaint (m_pMainWnd->m_hWnd, &ps);
// Create an off-screen DC for double-buffering
hdcMem = CreateCompatibleDC (hdc);
hbmMem = CreateCompatibleBitmap (hdc, rc.right, rc.bottom);
hOld = SelectObject (hdcMem, hbmMem);
// Draw into hdcMem
FillRect (hdcMem,&rc,CreateSolidBrush (RGB(255,255,255)) );
m_pMainWnd->OnPaint (hdcMem);
// Transfer the off-screen DC to the screen
BitBlt (hdc, 0, 0, rc.right, rc.bottom, hdcMem, 0, 0, SRCCOPY);
// Free-up the off-screen DC
SelectObject (hdcMem, hOld);
DeleteObject (hbmMem);
DeleteDC (hdcMem);
EndPaint (m_hWnd, &ps);
OnPaint method for m_pMainWnd looks like this:
HPEN hPen = CreatePen( PS_SOLID, 3, m_cCurPen); // m_cCurPen: COLORREF
HBRUSH hBrush = CreateSolidBrush( m_cCurBrush ); // m_cCurBrush:
COLORREF
HPEN hOldPen = (HPEN) SelectObject( dc,hPen );
HBRUSH hOldBrush = (HBRUSH) SelectObject( dc,hBrush );
Ellipse (dc,m_ptOrg.x, m_ptOrg.y, m_ptOrg.x+m_ptDim.x,
m_ptOrg.y+m_ptDim.y);
SelectObject( dc,hOldPen );
SelectObject( dc,hOldBrush );
DeleteObject( hPen );
DeleteObject( hBrush );
What did I do wrong?
More information about the wine-users
mailing list