Fixed Unicode conversion for CB/LB_FINDSTRING, CB/LB_FINDSTRINGEXACT and CB/LB_SELECTSTRING.
diff --git a/windows/winproc.c b/windows/winproc.c index 1cf3785..1d5b580 100644 --- a/windows/winproc.c +++ b/windows/winproc.c
@@ -588,14 +588,8 @@ case WM_WININICHANGE: case WM_DEVMODECHANGE: case CB_DIR: - case CB_FINDSTRING: - case CB_FINDSTRINGEXACT: - case CB_SELECTSTRING: case LB_DIR: case LB_ADDFILE: - case LB_FINDSTRING: - case LB_FINDSTRINGEXACT: - case LB_SELECTSTRING: case EM_REPLACESEL: if(!*plparam) return 0; *plparam = (LPARAM)HEAP_strdupAtoW( GetProcessHeap(), 0, (LPCSTR)*plparam ); @@ -644,6 +638,9 @@ /* Listbox */ case LB_ADDSTRING: case LB_INSERTSTRING: + case LB_FINDSTRING: + case LB_FINDSTRINGEXACT: + case LB_SELECTSTRING: if(!*plparam) return 0; if ( WINPROC_TestLBForStr( hwnd )) *plparam = (LPARAM)HEAP_strdupAtoW( GetProcessHeap(), 0, (LPCSTR)*plparam ); @@ -662,6 +659,9 @@ /* Combobox */ case CB_ADDSTRING: case CB_INSERTSTRING: + case CB_FINDSTRINGEXACT: + case CB_FINDSTRING: + case CB_SELECTSTRING: if(!*plparam) return 0; if ( WINPROC_TestCBForStr( hwnd )) *plparam = (LPARAM)HEAP_strdupAtoW( GetProcessHeap(), 0, (LPCSTR)*plparam ); @@ -768,14 +768,8 @@ case WM_WININICHANGE: case WM_DEVMODECHANGE: case CB_DIR: - case CB_FINDSTRING: - case CB_FINDSTRINGEXACT: - case CB_SELECTSTRING: case LB_DIR: case LB_ADDFILE: - case LB_FINDSTRING: - case LB_FINDSTRINGEXACT: - case LB_SELECTSTRING: case EM_REPLACESEL: HeapFree( GetProcessHeap(), 0, (void *)lParam ); break; @@ -783,6 +777,9 @@ /* Listbox */ case LB_ADDSTRING: case LB_INSERTSTRING: + case LB_FINDSTRING: + case LB_FINDSTRINGEXACT: + case LB_SELECTSTRING: if ( WINPROC_TestLBForStr( hwnd )) HeapFree( GetProcessHeap(), 0, (void *)lParam ); break; @@ -799,6 +796,9 @@ /* Combobox */ case CB_ADDSTRING: case CB_INSERTSTRING: + case CB_FINDSTRING: + case CB_FINDSTRINGEXACT: + case CB_SELECTSTRING: if ( WINPROC_TestCBForStr( hwnd )) HeapFree( GetProcessHeap(), 0, (void *)lParam ); break; @@ -852,14 +852,8 @@ case WM_WININICHANGE: case WM_DEVMODECHANGE: case CB_DIR: - case CB_FINDSTRING: - case CB_FINDSTRINGEXACT: - case CB_SELECTSTRING: case LB_DIR: case LB_ADDFILE: - case LB_FINDSTRING: - case LB_FINDSTRINGEXACT: - case LB_SELECTSTRING: case EM_REPLACESEL: if(!*plparam) return 0; *plparam = (LPARAM)HEAP_strdupWtoA( GetProcessHeap(), 0, (LPCWSTR)*plparam ); @@ -900,6 +894,9 @@ /* Listbox */ case LB_ADDSTRING: case LB_INSERTSTRING: + case LB_FINDSTRING: + case LB_FINDSTRINGEXACT: + case LB_SELECTSTRING: if(!*plparam) return 0; if ( WINPROC_TestLBForStr( hwnd )) *plparam = (LPARAM)HEAP_strdupWtoA( GetProcessHeap(), 0, (LPCWSTR)*plparam ); @@ -918,6 +915,9 @@ /* Combobox */ case CB_ADDSTRING: case CB_INSERTSTRING: + case CB_FINDSTRING: + case CB_FINDSTRINGEXACT: + case CB_SELECTSTRING: if(!*plparam) return 0; if ( WINPROC_TestCBForStr( hwnd )) *plparam = (LPARAM)HEAP_strdupWtoA( GetProcessHeap(), 0, (LPCWSTR)*plparam ); @@ -995,14 +995,8 @@ case WM_WININICHANGE: case WM_DEVMODECHANGE: case CB_DIR: - case CB_FINDSTRING: - case CB_FINDSTRINGEXACT: - case CB_SELECTSTRING: case LB_DIR: case LB_ADDFILE: - case LB_FINDSTRING: - case LB_FINDSTRINGEXACT: - case LB_SELECTSTRING: case EM_REPLACESEL: HeapFree( GetProcessHeap(), 0, (void *)lParam ); break; @@ -1033,6 +1027,9 @@ /* Listbox */ case LB_ADDSTRING: case LB_INSERTSTRING: + case LB_FINDSTRING: + case LB_FINDSTRINGEXACT: + case LB_SELECTSTRING: if ( WINPROC_TestLBForStr( hwnd )) HeapFree( GetProcessHeap(), 0, (void *)lParam ); break; @@ -1049,6 +1046,9 @@ /* Combobox */ case CB_ADDSTRING: case CB_INSERTSTRING: + case CB_FINDSTRING: + case CB_FINDSTRINGEXACT: + case CB_SELECTSTRING: if ( WINPROC_TestCBForStr( hwnd )) HeapFree( GetProcessHeap(), 0, (void *)lParam ); break;