ComboLBWndProc: fall through to ListBoxWndProc if the listbox is not a
ComboLBox.
This commit is contained in:
parent
2128b3384b
commit
ebed1b8745
|
@ -3056,24 +3056,30 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
|
||||||
WPARAM wParam, LPARAM lParam, BOOL unicode )
|
WPARAM wParam, LPARAM lParam, BOOL unicode )
|
||||||
{
|
{
|
||||||
LRESULT lRet = 0;
|
LRESULT lRet = 0;
|
||||||
LB_DESCR *descr = (LB_DESCR *)GetWindowLongA( hwnd, 0 );
|
LB_DESCR *descr;
|
||||||
|
LPHEADCOMBO lphc;
|
||||||
|
|
||||||
|
if (!(descr = (LB_DESCR *)GetWindowLongA( hwnd, 0 )))
|
||||||
|
{
|
||||||
|
if (msg == WM_CREATE)
|
||||||
|
{
|
||||||
|
CREATESTRUCTA *lpcs = (CREATESTRUCTA *)lParam;
|
||||||
|
TRACE_(combo)("\tpassed parent handle = %p\n",lpcs->lpCreateParams);
|
||||||
|
lphc = (LPHEADCOMBO)(lpcs->lpCreateParams);
|
||||||
|
return LISTBOX_Create( hwnd, lphc );
|
||||||
|
}
|
||||||
|
/* Ignore all other messages before we get a WM_CREATE */
|
||||||
|
return unicode ? DefWindowProcW( hwnd, msg, wParam, lParam ) :
|
||||||
|
DefWindowProcA( hwnd, msg, wParam, lParam );
|
||||||
|
}
|
||||||
|
|
||||||
TRACE_(combo)("[%04x]: msg %s wp %08x lp %08lx\n",
|
TRACE_(combo)("[%04x]: msg %s wp %08x lp %08lx\n",
|
||||||
hwnd, SPY_GetMsgName(msg, hwnd), wParam, lParam );
|
hwnd, SPY_GetMsgName(msg, hwnd), wParam, lParam );
|
||||||
|
|
||||||
if( descr || msg == WM_CREATE )
|
if ((lphc = descr->lphc) != NULL)
|
||||||
{
|
{
|
||||||
LPHEADCOMBO lphc = (descr) ? descr->lphc : NULL;
|
|
||||||
|
|
||||||
switch( msg )
|
switch( msg )
|
||||||
{
|
{
|
||||||
case WM_CREATE:
|
|
||||||
{
|
|
||||||
CREATESTRUCTA *lpcs = (CREATESTRUCTA *)lParam;
|
|
||||||
TRACE_(combo)("\tpassed parent handle = %p\n",lpcs->lpCreateParams);
|
|
||||||
lphc = (LPHEADCOMBO)(lpcs->lpCreateParams);
|
|
||||||
return LISTBOX_Create( hwnd, lphc );
|
|
||||||
}
|
|
||||||
case WM_MOUSEMOVE:
|
case WM_MOUSEMOVE:
|
||||||
if ( (TWEAK_WineLook > WIN31_LOOK) &&
|
if ( (TWEAK_WineLook > WIN31_LOOK) &&
|
||||||
(CB_GETTYPE(lphc) != CBS_SIMPLE) )
|
(CB_GETTYPE(lphc) != CBS_SIMPLE) )
|
||||||
|
@ -3111,14 +3117,9 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
/* else we are in Win3.1 look, go with the default behavior. */
|
||||||
{
|
break;
|
||||||
/*
|
|
||||||
* If we are in Win3.1 look, go with the default behavior.
|
|
||||||
*/
|
|
||||||
return unicode ? ListBoxWndProcW( hwnd, msg, wParam, lParam ) :
|
|
||||||
ListBoxWndProcA( hwnd, msg, wParam, lParam );
|
|
||||||
}
|
|
||||||
case WM_LBUTTONUP:
|
case WM_LBUTTONUP:
|
||||||
if (TWEAK_WineLook > WIN31_LOOK)
|
if (TWEAK_WineLook > WIN31_LOOK)
|
||||||
{
|
{
|
||||||
|
@ -3180,15 +3181,13 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
|
||||||
case WM_NCDESTROY:
|
case WM_NCDESTROY:
|
||||||
if( CB_GETTYPE(lphc) != CBS_SIMPLE )
|
if( CB_GETTYPE(lphc) != CBS_SIMPLE )
|
||||||
lphc->hWndLBox = 0;
|
lphc->hWndLBox = 0;
|
||||||
/* fall through */
|
break;
|
||||||
|
|
||||||
default:
|
|
||||||
return unicode ? ListBoxWndProcW( hwnd, msg, wParam, lParam ) :
|
|
||||||
ListBoxWndProcA( hwnd, msg, wParam, lParam );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lRet = unicode ? DefWindowProcW( hwnd, msg, wParam, lParam ) :
|
|
||||||
DefWindowProcA( hwnd, msg, wParam, lParam );
|
/* default handling: call listbox wnd proc */
|
||||||
|
lRet = unicode ? ListBoxWndProcW( hwnd, msg, wParam, lParam ) :
|
||||||
|
ListBoxWndProcA( hwnd, msg, wParam, lParam );
|
||||||
|
|
||||||
TRACE_(combo)("\t default on msg [%04x]\n", (UINT16)msg );
|
TRACE_(combo)("\t default on msg [%04x]\n", (UINT16)msg );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue