DispatchMessageW( &msg );
}
if (dlgInfo->flags & DF_END) break;
+
+ if (bFirstEmpty && msg.message == WM_TIMER)
+ {
+ ShowWindow( hwnd, SW_SHOWNORMAL );
+ bFirstEmpty = FALSE;
+ }
}
}
if (dlgInfo->flags & DF_OWNERENABLED) DIALOG_EnableOwner( owner );
WORD signature;
WORD dlgver;
- signature = GET_WORD(p); p++;
dlgver = GET_WORD(p); p++;
+ signature = GET_WORD(p); p++;
- if (signature == 1 && dlgver == 0xffff) /* DIALOGEX resource */
+ if (dlgver == 1 && signature == 0xffff) /* DIALOGEX resource */
{
result->dialogEx = TRUE;
result->helpId = GET_DWORD(p); p += 2;
if (dlgProc)
{
- if (SendMessageW( hwnd, WM_INITDIALOG, (WPARAM)dlgInfo->hwndFocus, param ) &&
+ HWND focus = GetNextDlgTabItem( hwnd, 0, FALSE );
+ if (SendMessageW( hwnd, WM_INITDIALOG, (WPARAM)focus, param ) &&
((~template.style & DS_CONTROL) || (template.style & WS_VISIBLE)))
{
- /* By returning TRUE, app has requested a default focus assignment */
+ /* By returning TRUE, app has requested a default focus assignment.
+ * WM_INITDIALOG may have changed the tab order, so find the first
+ * tabstop control again. */
dlgInfo->hwndFocus = GetNextDlgTabItem( hwnd, 0, FALSE);
if( dlgInfo->hwndFocus )
SetFocus( dlgInfo->hwndFocus );