Hide dialog windows created by CreateDialog* in EndDialog just as
Windows does.
diff --git a/windows/dialog.c b/windows/dialog.c
index f391d51..cfc1bb7 100644
--- a/windows/dialog.c
+++ b/windows/dialog.c
@@ -984,7 +984,7 @@
/***********************************************************************
- * EndDialog16 (USER32.173)
+ * EndDialog16 (USER.88)
*/
BOOL16 WINAPI EndDialog16( HWND16 hwnd, INT16 retval )
{
@@ -993,7 +993,7 @@
/***********************************************************************
- * EndDialog32 (USER.88)
+ * EndDialog32 (USER32.173)
*/
BOOL WINAPI EndDialog( HWND hwnd, INT retval )
{
@@ -1007,6 +1007,13 @@
dlgInfo->idResult = retval;
dlgInfo->flags |= DF_END;
}
+
+ /* Paint Shop Pro 4.14 calls EndDialog for a CreateDialog* dialog,
+ * which isn't "normal". Only DialogBox* dialogs may be EndDialog()ed.
+ * Just hide the window as windows does it...
+ */
+ ShowWindow(hwnd, SW_HIDE);
+
WIN_ReleaseWndPtr(wndPtr);
return TRUE;
}