diff --git a/ChangeLog b/ChangeLog index e5852c10d..9ab5e7e4a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2008-12-02 19:45-EST Gregory John Casamento + + * Source/NSApplication.m: Fix for bug #24785. + 2008-12-02 Richard Frith-Macdonald * Source/NSBrowser.m: fix uninitialised variable. diff --git a/Source/NSApplication.m b/Source/NSApplication.m index 18af799a0..ead500c50 100644 --- a/Source/NSApplication.m +++ b/Source/NSApplication.m @@ -3230,8 +3230,14 @@ struct _DelegateWrapper * and BOOL are integers, and NSTerminateNow is defined as YES * and NSTerminateCancel as NO. */ - termination = (NSApplicationTerminateReply) - [_delegate applicationShouldTerminate: self]; + + /* We need to do double coercion here since some version of the + * compiler will get confused due to the differences in how + * enum is implemented on various platforms. This ensures + * that the return type is handled properly in all cases. + */ + termination = (NSApplicationTerminateReply)(BOOL) + [_delegate applicationShouldTerminate: self]; } else {