Never delete the font object received by WM_SETFONT.
This commit is contained in:
parent
198f1e2f3e
commit
fcc148b283
|
@ -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);
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue