fixes for GetDlgItemTextA, GetDlgItemTextW and DIALOG_CreateIndirect from Wine 0.9.2
user32 dialog test failures decreased to 7
Modified: trunk/reactos/lib/user32/windows/dialog.c

Modified: trunk/reactos/lib/user32/windows/dialog.c
--- trunk/reactos/lib/user32/windows/dialog.c	2005-12-02 22:01:52 UTC (rev 19832)
+++ trunk/reactos/lib/user32/windows/dialog.c	2005-12-02 22:14:03 UTC (rev 19833)
@@ -825,7 +825,8 @@
     {
         /* Send initialisation messages and set focus */
 
-        if (SendMessageW( hwnd, WM_INITDIALOG, (WPARAM)dlgInfo->hwndFocus, param ))
+        if (SendMessageW( hwnd, WM_INITDIALOG, (WPARAM)dlgInfo->hwndFocus, param ) &&
+            ((~template.style & DS_CONTROL) || (template.style & WS_VISIBLE)))
         {
             /* By returning TRUE, app has requested a default focus assignment */
             dlgInfo->hwndFocus = GetNextDlgTabItem( hwnd, 0, FALSE);
@@ -1911,6 +1912,7 @@
   LPSTR lpString,
   int nMaxCount)
 {
+  if (lpString && (lpString > 0)) lpString[0] = '\0';
   return (UINT)SendDlgItemMessageA( hDlg, nIDDlgItem, WM_GETTEXT, nMaxCount, (LPARAM)lpString );
 }
 
@@ -1926,6 +1928,7 @@
   LPWSTR lpString,
   int nMaxCount)
 {
+  if (lpString && (lpString > 0)) lpString[0] = '\0';
   return (UINT)SendDlgItemMessageW( hDlg, nIDDlgItem, WM_GETTEXT, nMaxCount, (LPARAM)lpString );
 }