From adb5c12b852c0e7111f42dc2195c768a22d531ee Mon Sep 17 00:00:00 2001 From: Martin Fuchs Date: Sat, 8 Nov 2003 15:39:13 +0000 Subject: [PATCH] partial fix for for Bug #42: activate Ansi window procedures for standard controls svn path=/trunk/; revision=6581 --- reactos/ChangeLog | 14 ++++ reactos/include/user32/regcontrol.h | 3 +- reactos/lib/user32/controls/button.c | 14 ++-- reactos/lib/user32/controls/combo.c | 8 +-- reactos/lib/user32/controls/edit.c | 1 + reactos/lib/user32/controls/icontitle.c | 35 ++++++++-- reactos/lib/user32/controls/listbox.c | 19 +++--- reactos/lib/user32/controls/static.c | 90 +++++++++++++++++++++---- reactos/lib/user32/windows/dialog.c | 3 +- reactos/lib/user32/windows/mdi.c | 7 +- reactos/lib/user32/windows/menu.c | 3 +- 11 files changed, 147 insertions(+), 50 deletions(-) diff --git a/reactos/ChangeLog b/reactos/ChangeLog index 5158f79cc95..eed23ab0c3f 100644 --- a/reactos/ChangeLog +++ b/reactos/ChangeLog @@ -1,3 +1,17 @@ +2003-11-08 Martin Fuchs + + * controls/button.c partial fix for for Bug #42: + activate Ansi window procedures for standard controls + * controls/combo.c Ditto. + * controls/edit.c Ditto. + * controls/icontitle.c Ditto. + * controls/listbox.c Ditto. + * controls/static.c Ditto. + * windows/dialog.c Ditto. + * windows/mdi.c Ditto. + * windows/menu.c Ditto. + * windows/defwnd.c Fixed WM_GETTEXT error handling in DefWindowProcW(). + 2003-10-06 Casper S. Hornstrup * Makefile: New target uboot for simple unattended setup. diff --git a/reactos/include/user32/regcontrol.h b/reactos/include/user32/regcontrol.h index 7cfd88396ac..26508cb2521 100644 --- a/reactos/include/user32/regcontrol.h +++ b/reactos/include/user32/regcontrol.h @@ -1,4 +1,4 @@ -/* $Id: regcontrol.h,v 1.5 2003/08/15 15:55:02 weiden Exp $ +/* $Id: regcontrol.h,v 1.6 2003/11/08 15:39:13 mf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS User32 @@ -23,6 +23,7 @@ struct builtin_class_descr LPCWSTR name; /* class name */ UINT style; /* class style */ WNDPROC procW; /* Unicode window procedure */ + WNDPROC procA; /* Ansi window procedure */ INT extra; /* window extra bytes */ LPCWSTR cursor; /* cursor name */ HBRUSH brush; /* brush or system color */ diff --git a/reactos/lib/user32/controls/button.c b/reactos/lib/user32/controls/button.c index 1d2b3c40e48..65f79e16c93 100644 --- a/reactos/lib/user32/controls/button.c +++ b/reactos/lib/user32/controls/button.c @@ -1,4 +1,4 @@ -/* $Id: button.c,v 1.12 2003/10/06 17:53:55 navaraf Exp $ +/* $Id: button.c,v 1.13 2003/11/08 15:35:58 mf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS User32 @@ -36,7 +36,7 @@ static void GB_Paint( HWND hwnd, HDC hDC, UINT action ); static void UB_Paint( HWND hwnd, HDC hDC, UINT action ); static void OB_Paint( HWND hwnd, HDC hDC, UINT action ); static void BUTTON_CheckAutoRadioButton( HWND hwnd ); -// static LRESULT WINAPI ButtonWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); +static LRESULT WINAPI ButtonWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ButtonWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); #define MAX_BTN_TYPE 12 @@ -86,6 +86,7 @@ const struct builtin_class_descr BUTTON_builtin_class = L"Button", /* name */ CS_GLOBALCLASS | CS_DBLCLKS | CS_VREDRAW | CS_HREDRAW | CS_PARENTDC, /* style */ (WNDPROC) ButtonWndProcW, /* procW */ + (WNDPROC) ButtonWndProcA, /* procA */ NB_EXTRA_BYTES, /* extra */ (LPCWSTR) IDC_ARROW, /* cursor */ 0 /* brush */ @@ -459,9 +460,7 @@ static LRESULT WINAPI ButtonWndProc_common(HWND hWnd, UINT uMsg, /*********************************************************************** * ButtonWndProcW - * The button window procedure. This is just a wrapper which locks - * the passed HWND and calls the real window procedure (with a WND* - * pointer pointing to the locked windowstructure). + * The button window procedure. */ static LRESULT WINAPI ButtonWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { @@ -470,7 +469,6 @@ static LRESULT WINAPI ButtonWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARA } -#if 0 /*********************************************************************** * ButtonWndProcA */ @@ -479,7 +477,6 @@ static LRESULT WINAPI ButtonWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARA if (!IsWindow( hWnd )) return 0; return ButtonWndProc_common( hWnd, uMsg, wParam, lParam, FALSE ); } -#endif /********************************************************************** @@ -593,9 +590,10 @@ static UINT BUTTON_CalcLabelRect(HWND hwnd, HDC hdc, RECT *rc) r.bottom = r.top + bm.bmHeight; break; - default: empty_rect: DbgPrint("[button] EMPTY RECT!\n"); + + default: /* BS_OWNERDRAW, ... */ r.right = r.left; r.bottom = r.top; return (UINT)(LONG)-1; diff --git a/reactos/lib/user32/controls/combo.c b/reactos/lib/user32/controls/combo.c index e0342542a8c..6b62692bd6c 100644 --- a/reactos/lib/user32/controls/combo.c +++ b/reactos/lib/user32/controls/combo.c @@ -74,7 +74,7 @@ static UINT CBitHeight, CBitWidth; #define COMBO_EDITBUTTONSPACE() ( 0 ) #define EDIT_CONTROL_PADDING() ( 1 ) -// static LRESULT WINAPI ComboWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); +static LRESULT WINAPI ComboWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ComboWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); /********************************************************************* @@ -85,6 +85,7 @@ const struct builtin_class_descr COMBO_builtin_class = L"ComboBox", /* name */ CS_GLOBALCLASS | CS_PARENTDC | CS_DBLCLKS, /* style */ (WNDPROC) ComboWndProcW, /* procW */ + (WNDPROC) ComboWndProcA, /* procA */ sizeof(HEADCOMBO *), /* extra */ (LPCWSTR) IDC_ARROW, /* cursor */ 0 /* brush */ @@ -2181,19 +2182,14 @@ static LRESULT ComboWndProc_common( HWND hwnd, UINT message, DefWindowProcA(hwnd, message, wParam, lParam); } -#if 0 /*********************************************************************** * ComboWndProcA - * - * This is just a wrapper for the real ComboWndProc which locks/unlocks - * window structs. */ static LRESULT WINAPI ComboWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { if (!IsWindow(hwnd)) return 0; return ComboWndProc_common( hwnd, message, wParam, lParam, FALSE ); } -#endif /*********************************************************************** * ComboWndProcW diff --git a/reactos/lib/user32/controls/edit.c b/reactos/lib/user32/controls/edit.c index 675c2343de0..be3bc78a619 100644 --- a/reactos/lib/user32/controls/edit.c +++ b/reactos/lib/user32/controls/edit.c @@ -306,6 +306,7 @@ const struct builtin_class_descr EDIT_builtin_class = /*TODO: Fix ExtTextOut so that we can have the CS_PARENTDC style*/ /*CS_GLOBALCLASS | CS_DBLCLKS | CS_PARENTDC,*/ /* style */ (WNDPROC) EditWndProcW, /* procW */ + (WNDPROC) EditWndProcA, /* procA */ sizeof(EDITSTATE *), /* extra */ (LPCWSTR) IDC_ARROW, /* cursor */ /* FIXME Wine uses IDC_ARROWA */ 0 /* brush */ diff --git a/reactos/lib/user32/controls/icontitle.c b/reactos/lib/user32/controls/icontitle.c index 497fed59269..d706c51b9d4 100644 --- a/reactos/lib/user32/controls/icontitle.c +++ b/reactos/lib/user32/controls/icontitle.c @@ -35,7 +35,8 @@ static BOOL bMultiLineTitle; static HFONT hIconTitleFont; -static LRESULT CALLBACK IconTitleWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ); +static LRESULT CALLBACK IconTitleWndProcW( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ); +static LRESULT CALLBACK IconTitleWndProcA( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ); /********************************************************************* * icon title class descriptor @@ -44,7 +45,8 @@ const struct builtin_class_descr ICONTITLE_builtin_class = { L"ICONTITLE_CLASS_ATOM", /* name */ CS_GLOBALCLASS, /* style */ - (WNDPROC) IconTitleWndProc, /* procW */ + (WNDPROC) IconTitleWndProcW, /* procW */ + (WNDPROC) IconTitleWndProcA, /* procA */ 0, /* extra */ (LPCWSTR) IDC_ARROW, /* cursor */ /* FIXME Wine uses IDC_ARROWA */ 0 /* brush */ @@ -192,8 +194,8 @@ static BOOL ICONTITLE_Paint( HWND hwnd, HWND owner, HDC hDC, BOOL bActive ) /*********************************************************************** * IconTitleWndProc */ -LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg, - WPARAM wParam, LPARAM lParam ) +LRESULT WINAPI IconTitleWndProc_common( HWND hWnd, UINT msg, + WPARAM wParam, LPARAM lParam, BOOL unicode ) { HWND owner = GetWindow( hWnd, GW_OWNER ); @@ -214,7 +216,8 @@ LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg, return HTCAPTION; case WM_NCMOUSEMOVE: case WM_NCLBUTTONDBLCLK: - return SendMessageW( owner, msg, wParam, lParam ); + return unicode ? SendMessageW(owner, msg, wParam, lParam) : + SendMessageA(owner, msg, wParam, lParam); case WM_ACTIVATE: if( wParam ) SetActiveWindow( owner ); return 0; @@ -232,5 +235,25 @@ LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg, ValidateRect( hWnd, NULL ); return 1; } - return DefWindowProcW( hWnd, msg, wParam, lParam ); + + return unicode ? DefWindowProcW(hWnd, msg, wParam, lParam) : + DefWindowProcA(hWnd, msg, wParam, lParam); +} + +/********************************************************************* + * + * IconTitleWndProcW (USER32.@) + */ +LRESULT CALLBACK IconTitleWndProcW(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + return IconTitleWndProc_common(hWnd, uMsg, wParam, lParam, TRUE); +} + +/********************************************************************* + * + * IconTitleWndProc (USER32.@) + */ +LRESULT CALLBACK IconTitleWndProcA(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + return IconTitleWndProc_common(hWnd, uMsg, wParam, lParam, FALSE); } diff --git a/reactos/lib/user32/controls/listbox.c b/reactos/lib/user32/controls/listbox.c index fe6d03038b0..eafde7a2e64 100644 --- a/reactos/lib/user32/controls/listbox.c +++ b/reactos/lib/user32/controls/listbox.c @@ -1,4 +1,4 @@ -/* $Id: listbox.c,v 1.12 2003/10/04 22:36:36 weiden Exp $ +/* $Id: listbox.c,v 1.13 2003/11/08 15:35:58 mf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS User32 @@ -155,7 +155,7 @@ typedef enum static TIMER_DIRECTION LISTBOX_Timer = LB_TIMER_NONE; -//static LRESULT WINAPI ComboLBWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); +static LRESULT WINAPI ComboLBWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ComboLBWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ListBoxWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ListBoxWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); @@ -170,6 +170,7 @@ const struct builtin_class_descr LISTBOX_builtin_class = L"ListBox", /* name */ CS_GLOBALCLASS | CS_DBLCLKS /*| CS_PARENTDC*/, /* style */ (WNDPROC)ListBoxWndProcW, /* procW */ + (WNDPROC)ListBoxWndProcA, /* procA */ sizeof(LB_DESCR *), /* extra */ (LPCWSTR) IDC_ARROW, /* cursor */ 0 /* brush */ @@ -184,6 +185,7 @@ const struct builtin_class_descr COMBOLBOX_builtin_class = L"ComboLBox", /* name */ CS_GLOBALCLASS | CS_DBLCLKS | CS_SAVEBITS, /* style */ (WNDPROC)ComboLBWndProcW, /* procW */ + (WNDPROC)ComboLBWndProcA, /* procA */ sizeof(LB_DESCR *), /* extra */ (LPCWSTR) IDC_ARROW, /* cursor */ 0 /* brush */ @@ -2967,9 +2969,6 @@ static LRESULT WINAPI ListBoxWndProc_common( HWND hwnd, UINT msg, /*********************************************************************** * ListBoxWndProcA - * - * This is just a wrapper for the real wndproc, it only does window locking - * and unlocking. */ static LRESULT WINAPI ListBoxWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { @@ -3140,11 +3139,11 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg, * NOTE: in Windows, winproc address of the ComboLBox is the same * as that of the Listbox. */ -//LRESULT WINAPI ComboLBWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) -//{ -// if (!IsWindow(hwnd)) return 0; -// return ComboLBWndProc_common( hwnd, msg, wParam, lParam, FALSE ); -//} +LRESULT WINAPI ComboLBWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) +{ + if (!IsWindow(hwnd)) return 0; + return ComboLBWndProc_common( hwnd, msg, wParam, lParam, FALSE ); +} /*********************************************************************** * ComboLBWndProcW diff --git a/reactos/lib/user32/controls/static.c b/reactos/lib/user32/controls/static.c index 5fd6638e5fe..485a8d286b0 100644 --- a/reactos/lib/user32/controls/static.c +++ b/reactos/lib/user32/controls/static.c @@ -1,4 +1,4 @@ -/* $Id: static.c,v 1.9 2003/11/07 21:02:41 navaraf Exp $ +/* $Id: static.c,v 1.10 2003/11/08 15:35:58 mf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS User32 @@ -18,7 +18,7 @@ static void STATIC_PaintRectfn( HWND hwnd, HDC hdc, DWORD style ); static void STATIC_PaintIconfn( HWND hwnd, HDC hdc, DWORD style ); static void STATIC_PaintBitmapfn( HWND hwnd, HDC hdc, DWORD style ); static void STATIC_PaintEtchedfn( HWND hwnd, HDC hdc, DWORD style ); -//static LRESULT CALLBACK StaticWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); +static LRESULT CALLBACK StaticWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); static LRESULT CALLBACK StaticWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); static COLORREF color_black, color_gray, color_white; @@ -62,6 +62,7 @@ const struct builtin_class_descr STATIC_builtin_class = L"Static", /* name */ CS_GLOBALCLASS | CS_DBLCLKS, /* style */ (WNDPROC) StaticWndProcW, /* procW */ + (WNDPROC) StaticWndProcA, /* procA */ STATIC_EXTRA_BYTES, /* extra */ (LPCWSTR) IDC_ARROW, /* cursor */ /* FIXME Wine uses IDC_ARROWA */ 0 /* brush */ @@ -155,6 +156,19 @@ static HICON STATIC_LoadIconW( HWND hwnd, LPCWSTR name ) return hicon; } +/*********************************************************************** + * STATIC_LoadIconA + * + * Load the icon for an SS_ICON control. + */ +static HICON STATIC_LoadIconA( HWND hwnd, LPCSTR name ) +{ + HINSTANCE hInstance = (HINSTANCE)GetWindowLongA( hwnd, GWL_HINSTANCE ); + HICON hicon = LoadIconA( hInstance, name ); + if (!hicon) hicon = LoadIconA( 0, name ); + return hicon; +} + /*********************************************************************** * STATIC_LoadBitmapW * @@ -169,6 +183,20 @@ static HBITMAP STATIC_LoadBitmapW( HWND hwnd, LPCWSTR name ) return hbitmap; } +/*********************************************************************** + * STATIC_LoadBitmapA + * + * Load the bitmap for an SS_BITMAP control. + */ +static HBITMAP STATIC_LoadBitmapA( HWND hwnd, LPCSTR name ) +{ + HINSTANCE hInstance = (HINSTANCE)GetWindowLongA( hwnd, GWL_HINSTANCE ); + HBITMAP hbitmap = LoadBitmapA( hInstance, name ); + if (!hbitmap) /* Try OEM icon (FIXME: is this right?) */ + hbitmap = LoadBitmapA( 0, name ); + return hbitmap; +} + /*********************************************************************** * STATIC_TryPaintFcn * @@ -190,9 +218,9 @@ static VOID STATIC_TryPaintFcn(HWND hwnd, LONG full_style) } /*********************************************************************** - * StaticWndProcW + * StaticWndProc_common */ -static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) +static LRESULT CALLBACK StaticWndProc_common( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL unicode ) { LRESULT lResult = 0; LONG full_style = GetWindowLongA( hwnd, GWL_STYLE ); @@ -225,7 +253,9 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA */ break; } - else return DefWindowProcW(hwnd, uMsg, wParam, lParam); + else + return unicode ? DefWindowProcW(hwnd, uMsg, wParam, lParam) : + DefWindowProcA(hwnd, uMsg, wParam, lParam); case WM_PAINT: { @@ -260,7 +290,10 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA case SS_ICON: { HICON hIcon; - hIcon = STATIC_LoadIconW(hwnd, (LPCWSTR)lParam); + if (unicode) + hIcon = STATIC_LoadIconW(hwnd, (LPCWSTR)lParam); + else + hIcon = STATIC_LoadIconA(hwnd, (LPCSTR)lParam); /* FIXME : should we also return the previous hIcon here ??? */ STATIC_SetIcon(hwnd, hIcon, style); break; @@ -268,7 +301,10 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA case SS_BITMAP: { HBITMAP hBitmap; - hBitmap = STATIC_LoadBitmapW(hwnd, (LPCWSTR)lParam); + if (unicode) + hBitmap = STATIC_LoadBitmapW(hwnd, (LPCWSTR)lParam); + else + hBitmap = STATIC_LoadBitmapA(hwnd, (LPCSTR)lParam); STATIC_SetBitmap(hwnd, hBitmap, style); break; } @@ -280,7 +316,8 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA { if (HIWORD(lParam)) { - lResult = DefWindowProcW( hwnd, WM_SETTEXT, wParam, lParam ); + lResult = unicode? DefWindowProcW(hwnd, WM_SETTEXT, wParam, lParam) : + DefWindowProcA(hwnd, uMsg, wParam, lParam); } if (uMsg == WM_SETTEXT) STATIC_TryPaintFcn( hwnd, full_style ); @@ -317,14 +354,22 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA case WM_LBUTTONDOWN: if (! (full_style & SS_NOTIFY)) return 0; - SendMessageW(GetParent(hwnd), WM_COMMAND, - MAKEWPARAM((WORD) GetWindowLongW(hwnd, GWL_ID), STN_CLICKED), (LPARAM) hwnd); + if (unicode) + SendMessageW(GetParent(hwnd), WM_COMMAND, + MAKEWPARAM((WORD) GetWindowLongW(hwnd, GWL_ID), STN_CLICKED), (LPARAM) hwnd); + else + SendMessageA(GetParent(hwnd), WM_COMMAND, + MAKEWPARAM((WORD) GetWindowLongA(hwnd, GWL_ID), STN_CLICKED), (LPARAM) hwnd); return 0; case WM_LBUTTONDBLCLK: if (! (full_style & SS_NOTIFY)) return 0; - SendMessageW(GetParent(hwnd), WM_COMMAND, + if (unicode) + SendMessageW(GetParent(hwnd), WM_COMMAND, MAKEWPARAM((WORD) GetWindowLongW(hwnd, GWL_ID), STN_DBLCLK), (LPARAM) hwnd); + else + SendMessageA(GetParent(hwnd), WM_COMMAND, + MAKEWPARAM((WORD) GetWindowLongA(hwnd, GWL_ID), STN_DBLCLK), (LPARAM) hwnd); return 0; case STM_GETIMAGE: @@ -352,11 +397,32 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA break; default: - return DefWindowProcW(hwnd, uMsg, wParam, lParam); + return unicode ? DefWindowProcW(hwnd, uMsg, wParam, lParam) : + DefWindowProcA(hwnd, uMsg, wParam, lParam); } + return lResult; } + +/********************************************************************* + * + * StaticWndProcW (USER32.@) + */ +LRESULT CALLBACK StaticWndProcW(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + return StaticWndProc_common(hWnd, uMsg, wParam, lParam, TRUE); +} + +/********************************************************************* + * + * StaticWndProc (USER32.@) + */ +LRESULT CALLBACK StaticWndProcA(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + return StaticWndProc_common(hWnd, uMsg, wParam, lParam, FALSE); +} + static void STATIC_PaintOwnerDrawfn( HWND hwnd, HDC hdc, DWORD style ) { DRAWITEMSTRUCT dis; diff --git a/reactos/lib/user32/windows/dialog.c b/reactos/lib/user32/windows/dialog.c index 60e31abdd72..6dd6b5051e5 100644 --- a/reactos/lib/user32/windows/dialog.c +++ b/reactos/lib/user32/windows/dialog.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: dialog.c,v 1.20 2003/10/31 16:25:08 navaraf Exp $ +/* $Id: dialog.c,v 1.21 2003/11/08 15:35:58 mf Exp $ * * PROJECT: ReactOS user32.dll * FILE: lib/user32/windows/dialog.c @@ -125,6 +125,7 @@ const struct builtin_class_descr DIALOG_builtin_class = DIALOG_CLASS_ATOMW, /* name */ CS_GLOBALCLASS | CS_SAVEBITS | CS_DBLCLKS, /* style */ (WNDPROC) DefDlgProcW, /* procW */ + (WNDPROC) DefDlgProcA, /* procA */ DWL_INIT + sizeof(LONG), /* extra */ (LPCWSTR) IDC_ARROW, /* cursor */ 0 /* brush */ diff --git a/reactos/lib/user32/windows/mdi.c b/reactos/lib/user32/windows/mdi.c index bd957b26c65..a0506d5f691 100644 --- a/reactos/lib/user32/windows/mdi.c +++ b/reactos/lib/user32/windows/mdi.c @@ -153,9 +153,7 @@ static LONG MDI_ChildActivate( HWND, HWND ); static HWND MDI_MoreWindowsDialog(HWND); static void MDI_SwapMenuItems(HWND, UINT, UINT); -#ifndef __REACTOS__ static LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ); -#endif static LRESULT WINAPI MDIClientWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ); #ifdef __REACTOS__ @@ -223,14 +221,15 @@ const struct builtin_class_descr MDICLIENT_builtin_class = L"MDIClient", /* name */ CS_GLOBALCLASS, /* style */ MDIClientWndProcW, /* procW */ + MDIClientWndProcA, /* procA */ sizeof(MDICLIENTINFO), /* extra */ IDC_ARROW, /* cursor */ (HBRUSH)(COLOR_APPWORKSPACE+1) /* brush */ #else "MDIClient", /* name */ CS_GLOBALCLASS, /* style */ - MDIClientWndProcA, /* procA */ MDIClientWndProcW, /* procW */ + MDIClientWndProcA, /* procA */ sizeof(MDICLIENTINFO), /* extra */ IDC_ARROW, /* cursor */ (HBRUSH)(COLOR_APPWORKSPACE+1) /* brush */ @@ -1533,7 +1532,6 @@ static LRESULT MDIClientWndProc_common( HWND hwnd, UINT message, DefWindowProcA( hwnd, message, wParam, lParam ); } -#ifndef __REACTOS__ /*********************************************************************** * MDIClientWndProcA */ @@ -1542,7 +1540,6 @@ static LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT message, WPARAM wParam, if (!IsWindow(hwnd)) return 0; return MDIClientWndProc_common( hwnd, message, wParam, lParam, FALSE ); } -#endif /*********************************************************************** * MDIClientWndProcW diff --git a/reactos/lib/user32/windows/menu.c b/reactos/lib/user32/windows/menu.c index 0f3407b5f11..95ea9747aac 100644 --- a/reactos/lib/user32/windows/menu.c +++ b/reactos/lib/user32/windows/menu.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: menu.c,v 1.34 2003/10/25 22:57:34 navaraf Exp $ +/* $Id: menu.c,v 1.35 2003/11/08 15:35:58 mf Exp $ * * PROJECT: ReactOS user32.dll * FILE: lib/user32/windows/menu.c @@ -72,6 +72,7 @@ const struct builtin_class_descr POPUPMENU_builtin_class = POPUPMENU_CLASS_ATOMW, /* name */ CS_GLOBALCLASS | CS_SAVEBITS | CS_DBLCLKS, /* style */ (WNDPROC) NULL, /* FIXME - procW */ + (WNDPROC) NULL, /* FIXME - procA */ sizeof(MENUINFO *), /* extra */ (LPCWSTR) IDC_ARROW, /* cursor */ (HBRUSH)COLOR_MENU /* brush */