On Fri, May 30, 2003 at 02:14:09PM +0200, Michael Nordstrom wrote:
> On Fri, May 30, 2003, Alexander R. Pruss wrote:
> > It's not supposed to do that?
>
> Only if you run it on an OS5 device. On other devices it will
> display the last used document. However, if you were using the
> library when you left Plucker (or if the last used document
> can't be found) it will display the document library instead.
Yep. Its true. :) v20030222-am contained a workaround to this problem
but it was deemed a 'bad hack' and was never commited to CVS.
> The reason it works differently on OS5 devices is because of
> some bug. Adam might have a better explanation, since he added
> this "workaround" (for all devices, but I changed it to only be
> used for OS5 devices; no reason to "punish" all users because
> of problems with OS5:)
The problem arises from using an ErrTry/ErrCatch sequence that exceeds
the maximum depth allowed. For some reason OS4 has no problem with
this, but OS5 bickers and eventually crashes.
The here's a diff to the workaround I used.. but I wanted to find
something more prestine. If someone wants to hack away at this be my
guest.
Index: viewer.c
===================================================================
RCS file: /cvs/plucker/plucker_src/viewer/viewer.c,v
retrieving revision 1.93
diff -u -r1.93 viewer.c
--- viewer.c 25 May 2003 23:22:52 -0000 1.93
+++ viewer.c 30 May 2003 16:22:25 -0000
@@ -206,12 +206,6 @@
return err;
}
else if ( err == errNone ) {
- /* Because of a bug caused somewhere by using OS5, if we try loading
- up any form other than the library, the device will crash.
- Placing this lastForm definition here until I can figure out why */
- if ( Support50() )
- Prefs()->lastForm = frmLibrary;
-
if ( Prefs()->lastForm != GetValidForm( frmLibrary ) ) {
err = OpenLastDocument();
if ( err == errNone )
@@ -645,9 +639,14 @@
err = errNone;
if ( cmd == sysAppLaunchCmdNormalLaunch ) {
- err = StartApplication( NULL );
- if ( err != errNone )
+ ErrTry {
+ err = StartApplication( NULL );
+ if ( err != errNone )
+ ErrThrow( err );
+ }
+ ErrCatch( err ) {
return err;
+ } ErrEndCatch
EventLoop();
StopApplication();
--
Adam McDaniel
Array.org
Calgary, AB, Canada
_______________________________________________
plucker-dev mailing list
[EMAIL PROTECTED]
http://lists.rubberchicken.org/mailman/listinfo/plucker-dev