mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
-fix resource leaks
-don't free memory allocated by LocalAlloc with HeapFree svn path=/trunk/; revision=36352
This commit is contained in:
parent
9c3ba3b526
commit
64048965fe
4 changed files with 15 additions and 9 deletions
|
@ -23,8 +23,7 @@
|
|||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
GUID m_guid;
|
||||
m_guid = GUID_NULL;
|
||||
GUID m_guid = GUID_NULL;
|
||||
int arg;
|
||||
HRESULT result;
|
||||
char *strfmt = "";
|
||||
|
|
|
@ -108,10 +108,11 @@ DrawProc(IN PFONT_WND_INFO Info, IN PAINTSTRUCT* ps)
|
|||
UCHAR uCharacterRow;
|
||||
UCHAR uBit;
|
||||
WCHAR szInfoText[9];
|
||||
HBITMAP hBitmapOld;
|
||||
|
||||
// Preparations
|
||||
hBoxDC = CreateCompatibleDC(NULL);
|
||||
SelectObject(hBoxDC, Info->MainWndInfo->hBoxBmp);
|
||||
hBitmapOld = SelectObject(hBoxDC, Info->MainWndInfo->hBoxBmp);
|
||||
|
||||
hFont = CreateFontW(13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, L"Tahoma");
|
||||
hOldFont = SelectObject(ps->hdc, hFont);
|
||||
|
@ -177,6 +178,7 @@ DrawProc(IN PFONT_WND_INFO Info, IN PAINTSTRUCT* ps)
|
|||
}
|
||||
}
|
||||
|
||||
SelectObject(hBoxDC, hBitmapOld);
|
||||
SelectObject(ps->hdc, hOldFont);
|
||||
DeleteObject(hFont);
|
||||
SelectObject(ps->hdc, hOldBrush);
|
||||
|
|
|
@ -146,7 +146,7 @@ FontWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
LoadAndFormatString(IDS_SAVEPROMPT, &pszPrompt, szFile);
|
||||
|
||||
nMsgBoxResult = MessageBoxW(hwnd, pszPrompt, szAppName, MB_YESNOCANCEL | MB_ICONQUESTION);
|
||||
HeapFree(hProcessHeap, 0, pszPrompt);
|
||||
LocalFree(pszPrompt);
|
||||
|
||||
switch(nMsgBoxResult)
|
||||
{
|
||||
|
@ -394,7 +394,7 @@ CreateFontWindow(IN PMAIN_WND_INFO MainWndInfo, IN PFONT_OPEN_INFO OpenInfo)
|
|||
(LPARAM)Info );
|
||||
|
||||
if(!OpenInfo->pszFileName)
|
||||
HeapFree(hProcessHeap, 0, pszWindowTitle);
|
||||
LocalFree(pszWindowTitle);
|
||||
|
||||
if(hFontWnd)
|
||||
{
|
||||
|
|
|
@ -15,15 +15,16 @@ InitResources(IN PMAIN_WND_INFO Info)
|
|||
{
|
||||
HDC hMemDC;
|
||||
HDC hMainDC;
|
||||
HPEN hPen;
|
||||
HPEN hPen, hPenOld;
|
||||
RECT rect;
|
||||
HBITMAP hBitmapOld;
|
||||
|
||||
hMemDC = CreateCompatibleDC(NULL);
|
||||
hMainDC = GetDC(Info->hMainWnd);
|
||||
|
||||
// Create the "Box" bitmap
|
||||
Info->hBoxBmp = CreateCompatibleBitmap(hMainDC, CHARACTER_BOX_WIDTH, CHARACTER_BOX_HEIGHT);
|
||||
SelectObject(hMemDC, Info->hBoxBmp);
|
||||
hBitmapOld = SelectObject(hMemDC, Info->hBoxBmp);
|
||||
|
||||
rect.left = 0;
|
||||
rect.top = 0;
|
||||
|
@ -31,20 +32,24 @@ InitResources(IN PMAIN_WND_INFO Info)
|
|||
rect.bottom = CHARACTER_INFO_BOX_HEIGHT;
|
||||
FillRect( hMemDC, &rect, (HBRUSH)(COLOR_BTNFACE + 1) );
|
||||
|
||||
SelectObject( hMemDC, GetStockObject(WHITE_PEN) );
|
||||
hPenOld = SelectObject( hMemDC, GetStockObject(WHITE_PEN) );
|
||||
Rectangle(hMemDC, 0, 0, CHARACTER_INFO_BOX_WIDTH - 1, 2);
|
||||
Rectangle(hMemDC, 0, 2, 2, CHARACTER_INFO_BOX_HEIGHT - 1);
|
||||
hPen = SelectObject(hMemDC, hPenOld);
|
||||
|
||||
hPen = CreatePen( PS_SOLID, 1, RGB(128, 128, 128) );
|
||||
SelectObject(hMemDC, hPen);
|
||||
hPenOld = SelectObject(hMemDC, hPen);
|
||||
Rectangle(hMemDC, 1, CHARACTER_INFO_BOX_HEIGHT - 2, CHARACTER_INFO_BOX_WIDTH, CHARACTER_INFO_BOX_HEIGHT);
|
||||
Rectangle(hMemDC, CHARACTER_INFO_BOX_WIDTH - 2, 1, CHARACTER_INFO_BOX_WIDTH, CHARACTER_INFO_BOX_HEIGHT - 2);
|
||||
|
||||
SetPixel( hMemDC, CHARACTER_INFO_BOX_WIDTH - 1, 0, RGB(128, 128, 128) );
|
||||
SetPixel( hMemDC, 0, CHARACTER_INFO_BOX_HEIGHT - 1, RGB(128, 128, 128) );
|
||||
SelectObject(hMemDC, hBitmapOld);
|
||||
|
||||
hPen = SelectObject(hMemDC, hPenOld);
|
||||
DeleteObject(hPen);
|
||||
DeleteDC(hMemDC);
|
||||
ReleaseDC(Info->hMainWnd, hMainDC);
|
||||
}
|
||||
|
||||
static VOID
|
||||
|
|
Loading…
Reference in a new issue