Commit fdf6aa4e authored by Juergen Schmied's avatar Juergen Schmied Committed by Alexandre Julliard

Fixes: LB_/CB_/EM_ messages for getting/setting text and a bug in

16->32 bit conversion.
parent cd67edd3
...@@ -47,14 +47,14 @@ extern BOOL32 WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func, ...@@ -47,14 +47,14 @@ extern BOOL32 WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
extern void WINPROC_FreeProc( HWINDOWPROC proc, WINDOWPROCUSER user ); extern void WINPROC_FreeProc( HWINDOWPROC proc, WINDOWPROCUSER user );
extern WINDOWPROCTYPE WINPROC_GetProcType( HWINDOWPROC proc ); extern WINDOWPROCTYPE WINPROC_GetProcType( HWINDOWPROC proc );
extern INT32 WINPROC_MapMsg32ATo32W( UINT32 msg, WPARAM32 wParam, extern INT32 WINPROC_MapMsg32ATo32W( HWND32 hwnd, UINT32 msg, WPARAM32 wParam,
LPARAM *plparam ); LPARAM *plparam );
extern INT32 WINPROC_MapMsg32WTo32A( UINT32 msg, WPARAM32 wParam, extern INT32 WINPROC_MapMsg32WTo32A( HWND32 hwnd, UINT32 msg, WPARAM32 wParam,
LPARAM *plparam ); LPARAM *plparam );
extern INT32 WINPROC_MapMsg16To32A( UINT16 msg16, WPARAM16 wParam16, extern INT32 WINPROC_MapMsg16To32A( UINT16 msg16, WPARAM16 wParam16,
UINT32 *pmsg32, WPARAM32 *pwparam32, UINT32 *pmsg32, WPARAM32 *pwparam32,
LPARAM *plparam ); LPARAM *plparam );
extern INT32 WINPROC_MapMsg16To32W( UINT16 msg16, WPARAM16 wParam16, extern INT32 WINPROC_MapMsg16To32W( HWND16, UINT16 msg16, WPARAM16 wParam16,
UINT32 *pmsg32, WPARAM32 *pwparam32, UINT32 *pmsg32, WPARAM32 *pwparam32,
LPARAM *plparam ); LPARAM *plparam );
extern INT32 WINPROC_MapMsg32ATo16( HWND32 hwnd, UINT32 msg32, extern INT32 WINPROC_MapMsg32ATo16( HWND32 hwnd, UINT32 msg32,
...@@ -63,16 +63,16 @@ extern INT32 WINPROC_MapMsg32ATo16( HWND32 hwnd, UINT32 msg32, ...@@ -63,16 +63,16 @@ extern INT32 WINPROC_MapMsg32ATo16( HWND32 hwnd, UINT32 msg32,
extern INT32 WINPROC_MapMsg32WTo16( HWND32 hwnd, UINT32 msg32, extern INT32 WINPROC_MapMsg32WTo16( HWND32 hwnd, UINT32 msg32,
WPARAM32 wParam32, UINT16 *pmsg16, WPARAM32 wParam32, UINT16 *pmsg16,
WPARAM16 *pwparam16, LPARAM *plparam ); WPARAM16 *pwparam16, LPARAM *plparam );
extern void WINPROC_UnmapMsg32ATo32W( UINT32 msg, WPARAM32 wParam, extern void WINPROC_UnmapMsg32ATo32W( HWND32 hwnd, UINT32 msg, WPARAM32 wParam,
LPARAM lParam ); LPARAM lParam );
extern void WINPROC_UnmapMsg32WTo32A( UINT32 msg, WPARAM32 wParam, extern void WINPROC_UnmapMsg32WTo32A( HWND32 hwnd, UINT32 msg, WPARAM32 wParam,
LPARAM lParam ); LPARAM lParam );
extern LRESULT WINPROC_UnmapMsg16To32A( UINT32 msg, WPARAM32 wParam, extern LRESULT WINPROC_UnmapMsg16To32A( HWND16 hwnd, UINT32 msg, WPARAM32 wParam,
LPARAM lParam, LRESULT result ); LPARAM lParam, LRESULT result );
extern LRESULT WINPROC_UnmapMsg16To32W( UINT32 msg, WPARAM32 wParam, extern LRESULT WINPROC_UnmapMsg16To32W( HWND16 hwnd, UINT32 msg, WPARAM32 wParam,
LPARAM lParam, LRESULT result ); LPARAM lParam, LRESULT result );
extern void WINPROC_UnmapMsg32ATo16( UINT32 msg, WPARAM32 wParam, extern void WINPROC_UnmapMsg32ATo16( HWND32 hwnd, UINT32 msg, WPARAM32 wParam,
LPARAM lParam, MSGPARAM16* pm16 ); LPARAM lParam, MSGPARAM16* pm16 );
extern void WINPROC_UnmapMsg32WTo16( UINT32 msg, WPARAM32 wParam, extern void WINPROC_UnmapMsg32WTo16( HWND32 hwnd, UINT32 msg, WPARAM32 wParam,
LPARAM lParam, MSGPARAM16* pm16 ); LPARAM lParam, MSGPARAM16* pm16 );
#endif /* __WINE_WINPROC_H */ #endif /* __WINE_WINPROC_H */
...@@ -34,7 +34,7 @@ static const char defaultfilter[]=" \0\0"; ...@@ -34,7 +34,7 @@ static const char defaultfilter[]=" \0\0";
/*********************************************************************** /***********************************************************************
* FileDlg_Init [internal] * FileDlg_Init [internal]
*/ */
static BOOL32 FileDlg_Init() static BOOL32 FileDlg_Init(void)
{ {
static BOOL32 initialized = 0; static BOOL32 initialized = 0;
...@@ -2286,7 +2286,7 @@ static void CC_SwitchToFullSize(HWND16 hDlg,COLORREF result,LPRECT16 lprect) ...@@ -2286,7 +2286,7 @@ static void CC_SwitchToFullSize(HWND16 hDlg,COLORREF result,LPRECT16 lprect)
EnableWindow32(GetDlgItem32(hDlg,0x2c8),TRUE); EnableWindow32(GetDlgItem32(hDlg,0x2c8),TRUE);
if (lprect) if (lprect)
SetWindowPos32(hDlg,NULL,0,0,lprect->right-lprect->left, SetWindowPos32(hDlg,0,0,0,lprect->right-lprect->left,
lprect->bottom-lprect->top, SWP_NOMOVE|SWP_NOZORDER); lprect->bottom-lprect->top, SWP_NOMOVE|SWP_NOZORDER);
ShowWindow32(GetDlgItem32(hDlg,0x2c6),SW_SHOW); ShowWindow32(GetDlgItem32(hDlg,0x2c6),SW_SHOW);
...@@ -2447,7 +2447,7 @@ static LONG CC_WMInitDialog(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam) ...@@ -2447,7 +2447,7 @@ static LONG CC_WMInitDialog(HWND16 hDlg, WPARAM16 wParam, LPARAM lParam)
ScreenToClient16(hDlg,&point); ScreenToClient16(hDlg,&point);
GetClientRect16(hDlg,&rect); GetClientRect16(hDlg,&rect);
point.x+=GetSystemMetrics32(SM_CXDLGFRAME); point.x+=GetSystemMetrics32(SM_CXDLGFRAME);
SetWindowPos32(hDlg,NULL,0,0,point.x,res,SWP_NOMOVE|SWP_NOZORDER); SetWindowPos32(hDlg,0,0,0,point.x,res,SWP_NOMOVE|SWP_NOZORDER);
ShowWindow32(GetDlgItem32(hDlg,0x2c6),SW_HIDE); ShowWindow32(GetDlgItem32(hDlg,0x2c6),SW_HIDE);
ShowWindow32(GetDlgItem32(hDlg,0x2c5),SW_HIDE); ShowWindow32(GetDlgItem32(hDlg,0x2c5),SW_HIDE);
...@@ -3565,7 +3565,7 @@ LRESULT WINAPI FormatCharDlgProc16(HWND16 hDlg, UINT16 message, WPARAM16 wParam, ...@@ -3565,7 +3565,7 @@ LRESULT WINAPI FormatCharDlgProc16(HWND16 hDlg, UINT16 message, WPARAM16 wParam,
FIXME(commdlg, "current logfont back to caller\n"); FIXME(commdlg, "current logfont back to caller\n");
break; break;
} }
WINPROC_UnmapMsg16To32A(uMsg32, wParam32, lParam, res); WINPROC_UnmapMsg16To32A(hDlg,uMsg32, wParam32, lParam, res);
return res; return res;
} }
......
...@@ -95,7 +95,7 @@ static void HOOK_Map16To32Common(INT32 id, INT32 code, WPARAM32 *pwParam, ...@@ -95,7 +95,7 @@ static void HOOK_Map16To32Common(INT32 id, INT32 code, WPARAM32 *pwParam,
if (bA) WINPROC_MapMsg16To32A( lpcwp16->message, lpcwp16->wParam, if (bA) WINPROC_MapMsg16To32A( lpcwp16->message, lpcwp16->wParam,
&lpcwp32->message, &lpcwp32->wParam, &lpcwp32->message, &lpcwp32->wParam,
&lpcwp32->lParam ); &lpcwp32->lParam );
else WINPROC_MapMsg16To32W( lpcwp16->message, lpcwp16->wParam, else WINPROC_MapMsg16To32W( lpcwp16->hwnd,lpcwp16->message, lpcwp16->wParam,
&lpcwp32->message, &lpcwp32->wParam, &lpcwp32->message, &lpcwp32->wParam,
&lpcwp32->lParam ); &lpcwp32->lParam );
*plParam = (LPARAM)lpcwp32; *plParam = (LPARAM)lpcwp32;
...@@ -266,9 +266,9 @@ static void HOOK_UnMap16To32Common(INT32 id, INT32 code, WPARAM32 wParamOrig, ...@@ -266,9 +266,9 @@ static void HOOK_UnMap16To32Common(INT32 id, INT32 code, WPARAM32 wParamOrig,
case WH_CALLWNDPROC: case WH_CALLWNDPROC:
{ {
LPCWPSTRUCT32 lpcwp32 = (LPCWPSTRUCT32)lParam; LPCWPSTRUCT32 lpcwp32 = (LPCWPSTRUCT32)lParam;
if (bA) WINPROC_UnmapMsg16To32A( lpcwp32->message, lpcwp32->wParam, if (bA) WINPROC_UnmapMsg16To32A( lpcwp32->hwnd,lpcwp32->message, lpcwp32->wParam,
lpcwp32->lParam, 0 ); lpcwp32->lParam, 0 );
else WINPROC_UnmapMsg16To32W( lpcwp32->message, lpcwp32->wParam, else WINPROC_UnmapMsg16To32W( lpcwp32->hwnd,lpcwp32->message, lpcwp32->wParam,
lpcwp32->lParam, 0 ); lpcwp32->lParam, 0 );
HeapFree( SystemHeap, 0, lpcwp32 ); HeapFree( SystemHeap, 0, lpcwp32 );
break; break;
...@@ -582,9 +582,9 @@ static void HOOK_UnMap32To16Common(INT32 id, INT32 code, WPARAM32 wParamOrig, ...@@ -582,9 +582,9 @@ static void HOOK_UnMap32To16Common(INT32 id, INT32 code, WPARAM32 wParamOrig,
LPCWPSTRUCT32 lpcwp32 = (LPCWPSTRUCT32)lParamOrig; LPCWPSTRUCT32 lpcwp32 = (LPCWPSTRUCT32)lParamOrig;
MSGPARAM16 mp16 = { lpcwp16->wParam, lpcwp16->lParam, 0 }; MSGPARAM16 mp16 = { lpcwp16->wParam, lpcwp16->lParam, 0 };
if (bA) WINPROC_UnmapMsg32ATo16( lpcwp32->message, lpcwp32->wParam, if (bA) WINPROC_UnmapMsg32ATo16( lpcwp32->hwnd,lpcwp32->message, lpcwp32->wParam,
lpcwp32->lParam, &mp16 ); lpcwp32->lParam, &mp16 );
else WINPROC_UnmapMsg32WTo16( lpcwp32->message, lpcwp32->wParam, else WINPROC_UnmapMsg32WTo16( lpcwp32->hwnd,lpcwp32->message, lpcwp32->wParam,
lpcwp32->lParam, &mp16 ); lpcwp32->lParam, &mp16 );
SEGPTR_FREE( PTR_SEG_TO_LIN(lParam) ); SEGPTR_FREE( PTR_SEG_TO_LIN(lParam) );
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment