In message ID <3479E3D0.87643E52@...> on 11/24/97, T o n y H a n s e n wrote: :LONG IF gActiveWnd = _Preferences : SELECT gLongAction& : CASE _mStart : CASE _btnLong : SELECT gWhichButton : CASE _btnOK : FN PrefSave : BEEP 'it beeps when I click OK but does not close : FN pGClose(_Preferences) : CASE _btnCancel : FN pGClose(_Preferences) : END SELECT : CASE _wClose : gKissOfDeath = _false:gAction=0 <--- HERE IS THE PROBLEM : CASE _wUpdate : END SELECT :END IF :IF 0 THEN RETURN By setting gAction to zero, you are effectively cancelling the close request. When you call FN pGClose(_Preferences), a _wClose event is generated. Your code reacts to this event by zeroing it out; and therefore PG takes no action and does not close your window. - via BulkRate 2.6.x