Path: utzoo!attcan!uunet!tut.cis.ohio-state.edu!mailrus!cs.utexas.edu!swrinde!ucsd!ucbvax!parc.xerox.com!janssen From: janssen@parc.xerox.com (Bill Janssen) Newsgroups: comp.soft-sys.andrew Subject: fix for bogus "Quit" behavior Message-ID: Date: 10 Feb 90 09:14:44 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 30 I got fed up with inadvertently quitting from Messages after selecting quit on the org from "Expose Tree", so I fixed it. I moved the subroutine "frame_Exit" in atk/frame/framecmd.c to "frame_ReallyExit", and then wrote a new "frame_Exit" which is the following: void frame_Exit(self) struct frame *self; { long count = 0; extern struct frame * frame__Enumerate(); /* BOGUS!!! */ frame_Enumerate(countFrames, &count); if (count > 1) { im_Destroy(frame_GetIM( self)); frame_Destroy(self); } else frame_ReallyExit(self); } "frame_ReallyExit" is not exported as a procedure. I modified "frame_DeleteWindow" to call "frame_ReallyExit" where it used to call "frame_Exit", but that's not really necessary. I then rebuilt the atk/frame, atk/ez, and atk/apps directories, and sure enough, it's fixed. Bill