Never delete the font object received by WM_SETFONT.

This commit is contained in:
Sander van Leeuwen 2002-01-04 21:50:01 +00:00 committed by Alexandre Julliard
parent 198f1e2f3e
commit fcc148b283
3 changed files with 9 additions and 6 deletions

View File

@ -120,6 +120,7 @@ typedef struct
DWORD dwExtStyle;
INT selected; /* index of selected item */
DWORD flags; /* WINE internal flags */
HFONT hDefaultFont;
HFONT font;
INT nb_items; /* Number of items */
BOOL bUnicode; /* TRUE if this window is Unicode */
@ -1209,7 +1210,7 @@ COMBOEX_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
if (!infoPtr->font) {
SystemParametersInfoA (SPI_GETICONTITLELOGFONT, sizeof(mylogfont),
&mylogfont, 0);
infoPtr->font = CreateFontIndirectA (&mylogfont);
infoPtr->font = infoPtr->hDefaultFont = CreateFontIndirectA (&mylogfont);
}
SendMessageW (infoPtr->hwndCombo, WM_SETFONT, (WPARAM)infoPtr->font, 0);
if (infoPtr->hwndEdit) {
@ -1750,7 +1751,7 @@ COMBOEX_Destroy (HWND hwnd, WPARAM wParam, LPARAM lParam)
}
}
DeleteObject (infoPtr->font);
if (infoPtr->hDefaultFont) DeleteObject (infoPtr->hDefaultFont);
/* free comboex info data */
COMCTL32_Free (infoPtr);

View File

@ -200,6 +200,7 @@ typedef struct
HWND hwndSelf; /* handle of REBAR window itself */
HWND hwndToolTip; /* handle to the tool tip control */
HWND hwndNotify; /* notification window (parent) */
HFONT hDefaultFont;
HFONT hFont; /* handle to the rebar's font */
SIZE imageSize; /* image size (image list) */
DWORD dwStyle; /* window style */
@ -3624,7 +3625,7 @@ REBAR_Destroy (REBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
DeleteObject (infoPtr->hcurHorz);
DeleteObject (infoPtr->hcurVert);
DeleteObject (infoPtr->hcurDrag);
DeleteObject (infoPtr->hFont);
if(infoPtr->hDefaultFont) DeleteObject (infoPtr->hDefaultFont);
SetWindowLongA (infoPtr->hwndSelf, 0, 0);
/* free rebar info data */
@ -3834,7 +3835,7 @@ REBAR_NCCreate (HWND hwnd, WPARAM wParam, LPARAM lParam)
}
tfont = CreateFontIndirectA (&ncm.lfCaptionFont);
if (tfont) {
infoPtr->hFont = tfont;
infoPtr->hFont = infoPtr->hDefaultFont = tfont;
}
/* native does:

View File

@ -95,6 +95,7 @@ typedef struct
INT nButtonDown;
INT nOldHit;
INT nHotItem; /* index of the "hot" item */
HFONT hDefaultFont;
HFONT hFont; /* text font */
HIMAGELIST himlInt; /* image list created internally */
HIMAGELIST himlDef; /* default image list */
@ -4048,7 +4049,7 @@ TOOLBAR_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
infoPtr->hwndSelf = hwnd;
SystemParametersInfoA (SPI_GETICONTITLELOGFONT, 0, &logFont, 0);
infoPtr->hFont = CreateFontIndirectA (&logFont);
infoPtr->hFont = infoPtr->hDefaultFont = CreateFontIndirectA (&logFont);
if (dwStyle & TBSTYLE_TOOLTIPS) {
/* Create tooltip control */
@ -4106,7 +4107,7 @@ TOOLBAR_Destroy (HWND hwnd, WPARAM wParam, LPARAM lParam)
/* delete default font */
if (infoPtr->hFont)
DeleteObject (infoPtr->hFont);
DeleteObject (infoPtr->hDefaultFont);
/* free toolbar info data */
COMCTL32_Free (infoPtr);