Dmitry Timoshkov : comdlg32: Not all messages depend on initialized custom choose font dialog data.
Alexandre Julliard
julliard at winehq.org
Thu Jul 1 11:19:33 CDT 2010
Module: wine
Branch: master
Commit: 542be258b380dd6e3c70d2102633a9a9a2c4a76f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=542be258b380dd6e3c70d2102633a9a9a2c4a76f
Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date: Thu Jul 1 20:45:16 2010 +0900
comdlg32: Not all messages depend on initialized custom choose font dialog data.
---
dlls/comdlg32/fontdlg.c | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/dlls/comdlg32/fontdlg.c b/dlls/comdlg32/fontdlg.c
index 80f1ad9..ad580d5 100644
--- a/dlls/comdlg32/fontdlg.c
+++ b/dlls/comdlg32/fontdlg.c
@@ -782,7 +782,7 @@ static LRESULT CFn_WMMeasureItem(HWND hDlg, LPARAM lParam)
/* use MAX of bitmap height and tm.tmHeight .*/
hdc=GetDC(hDlg);
if(!hdc) return 0;
- hfontprev = SelectObject( hdc, GetStockObject( SYSTEM_FONT));
+ hfontprev = SelectObject( hdc, GetStockObject( DEFAULT_GUI_FONT ) );
GetTextMetricsW(hdc, &tm);
if( tm.tmHeight > lpmi->itemHeight) lpmi->itemHeight = tm.tmHeight;
SelectObject(hdc, hfontprev);
@@ -905,6 +905,8 @@ static LRESULT CFn_WMCommand(HWND hDlg, WPARAM wParam, LPARAM lParam, LPCHOOSEFO
HDC hdc;
LPLOGFONTW lpxx=lpcf->lpLogFont;
+ if (!lpcf) return FALSE;
+
TRACE("WM_COMMAND wParam=%08X lParam=%08lX\n", (LONG)wParam, lParam);
switch (LOWORD(wParam))
{
@@ -1071,6 +1073,8 @@ static LRESULT CFn_WMDestroy(HWND hwnd, LPCHOOSEFONTW lpcfw)
LPLOGFONTA lpLogFonta;
int len;
+ if (!lpcfw) return FALSE;
+
lpcfa = GetPropW(hwnd, strWineFontData_a);
lpLogFonta = lpcfa->lpLogFont;
lpszStyle = lpcfa->lpszStyle;
@@ -1098,6 +1102,8 @@ static LRESULT CFn_WMPaint(HWND hDlg, WPARAM wParam, LPARAM lParam, const CHOOSE
{
WINDOWINFO info;
+ if (!lpcf) return FALSE;
+
info.cbSize=sizeof(info);
if( GetWindowInfo( GetDlgItem( hDlg, stc5), &info ) )
{
@@ -1156,9 +1162,7 @@ static INT_PTR CALLBACK FormatCharDlgProcA(HWND hDlg, UINT uMsg, WPARAM wParam,
if (uMsg!=WM_INITDIALOG) {
lpcfw = GetPropW(hDlg, strWineFontData);
- if (!lpcfw)
- return FALSE;
- if (CFn_HookCallChk32(lpcfw))
+ if (lpcfw && CFn_HookCallChk32(lpcfw))
res=CallWindowProcA((WNDPROC)lpcfw->lpfnHook, hDlg, uMsg, wParam, lParam);
if (res)
return res;
@@ -1218,9 +1222,7 @@ static INT_PTR CALLBACK FormatCharDlgProcW(HWND hDlg, UINT uMsg, WPARAM wParam,
if (uMsg!=WM_INITDIALOG)
{
lpcf= GetPropW(hDlg, strWineFontData);
- if (!lpcf)
- return FALSE;
- if (CFn_HookCallChk32(lpcf))
+ if (lpcf && CFn_HookCallChk32(lpcf))
res=CallWindowProcW((WNDPROC)lpcf->lpfnHook, hDlg, uMsg, wParam, lParam);
if (res)
return res;
More information about the wine-cvs
mailing list