Quoting Adrian Robert <arobert@cogsci.ucsd.edu>:
On Oct 7, 2005, at 3:50 PM, Sa�o Kiselkov wrote:
Let's just stop putting up theories about how it may or may not
work on OSX and
instead start designing a way that would work for us.
I think we should try to follow OS X behavior to make things easier
for people porting or maintaining cross-platform apps unless there's
something broken in the way OS X does it. Questions can be settled
easily by running some test code on an OS X box. I don't have time
to write a test class right now but if someone sends me one I can
compile it and try it out on Panther and Tiger and post the results
here.
Why bother following the _internal_workings_ of OSX? The important
features,
namely the external interface that apps see (that is, that
-applicationShouldTerminate: gets invoked before the poweroff
occurs and the
return value correctly controls poweroff) and which users expect
(correct
behavior of the workspace when the app is controlling poweroff) is
already in
the implementation I proposed. My point is: my implementation
_DOES_ follow the
correct OSX app behavior (which in simple terms means "override
-applicationShouldTerminate: and you can decide about poweroff with
it"), but I
didn't bother trying to disassemble and backtrace every step OSX
made about how
to implement the feature, and thus a _dirty_ implementation that
relies on bugs
in OSX might (will) not work on GNUstep.