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