Restored work-around for hangs when trying to use disk-based handlers
[tangerine.git] / rom / oop / obtainattrbases.c
blob61d996716840f245c12c1c46b7fbab0bd9350a1f
1 /*
2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: OOP function OOP_ObtainAttrBases
6 Lang: english
7 */
9 #include <proto/exec.h>
10 #include <exec/memory.h>
11 #include <aros/debug.h>
12 #include "intern.h"
13 #include "hash.h"
15 /*****************************************************************************
17 NAME */
19 #include <proto/oop.h>
20 #include <oop/oop.h>
22 AROS_LH1(BOOL, OOP_ObtainAttrBases,
24 /* SYNOPSIS */
25 AROS_LHA(struct OOP_ABDescr *, abd, A0),
27 /* LOCATION */
28 struct Library *, OOPBase, 18, OOP)
30 /* FUNCTION
32 INPUTS
34 RESULT
36 NOTES
38 EXAMPLE
40 BUGS
42 SEE ALSO
44 INTERNALS
46 HISTORY
48 ******************************************************************************/
50 AROS_LIBFUNC_INIT
52 struct OOP_ABDescr *d;
54 for (d = abd; d->interfaceID; d ++)
56 *d->attrBase = OOP_ObtainAttrBase(d->interfaceID);
58 if ( *d->attrBase == 0 )
60 /* Clear all other attrbase values */
61 d ++;
62 while (d->interfaceID) {
63 *d->attrBase = 0;
65 OOP_ReleaseAttrBases(abd);
66 return FALSE;
69 return TRUE;
71 AROS_LIBFUNC_EXIT
73 } /* OOP_ObtainAttrBases */