Ignore:
Timestamp:
Nov 3, 1999, 7:00:29 PM (26 years ago)
Author:
cbratschi
Message:

modal dialog fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/win32dlg.cpp

    r1542 r1572  
    1 /* $Id: win32dlg.cpp,v 1.27 1999-11-02 17:07:25 cbratschi Exp $ */
     1/* $Id: win32dlg.cpp,v 1.28 1999-11-03 18:00:26 cbratschi Exp $ */
    22/*
    33 * Win32 Dialog Code for OS/2
     
    270270    if (!dialogFlags & DF_END) /* was EndDialog called in WM_INITDIALOG ? */
    271271    {
    272         topOwner->EnableWindow( FALSE );
    273         //CB: todo: make modal, implement modeless, remove FCF_TASKLIST
    274         //    emulate WinProcessDlg
    275         ShowWindow( SW_SHOW );
     272        HWND hwndOldDialog;
     273        BOOL bOldOwner;
     274
     275        fIsModalDialog = TRUE;
     276        topOwner->EnableWindow(FALSE);
     277
     278        bOldOwner = topOwner->IsModalDialogOwner();
     279        topOwner->setModalDialogOwner(TRUE);
     280        hwndOldDialog = topOwner->getOS2HwndModalDialog();
     281        topOwner->setOS2HwndModalDialog(OS2HwndFrame);
     282        ShowWindow(SW_SHOW);
    276283
    277284        //CB: 100% CPU usage, need a better solution with OSLibWinGetMsg
     
    327334        }
    328335#endif
    329         topOwner->EnableWindow( TRUE );
     336        topOwner->setModalDialogOwner(bOldOwner);
     337        topOwner->setOS2HwndModalDialog(hwndOldDialog);
     338        if (!bOldOwner) topOwner->EnableWindow(TRUE);
    330339    }
    331340    retval = idResult;
Note: See TracChangeset for help on using the changeset viewer.