Path: utzoo!attcan!uunet!lll-winken!lll-lcc!lll-tis!helios.ee.lbl.gov!pasteur!ucbvax!hplabs!nsc!voder!apple!dwb From: dwb@Apple.COM (David W. Berry) Newsgroups: comp.sys.mac Subject: Re: Changing the pointer icon Message-ID: <12237@apple.Apple.COM> Date: 15 Jun 88 23:06:03 GMT References: <5157@eagle.ukc.ac.uk> <2327@spray.CalComp.COM> <6383@cup.portal.com> <2340@spray.CalComp.COM> Reply-To: dwb@apple.apple.com.UUCP (David W. Berry) Organization: Apple Computer Inc, Cupertino, CA Lines: 27 In article <2340@spray.CalComp.COM> anson@spray.UUCP (Ed Anson) writes: :In article <6383@cup.portal.com> David_Alan_Newman@cup.portal.com writes: :> :>We found that some DA's, and/or other applications running under MF would :>issue ReleaseResource calls for all the cursors they had used. This would :>in effect 'yank' the system cursors right out from under us! System resources :>are supposed to be shared, image if people started issuing releases for :>WDEF's, CDEF's, etc! : :This is only a small part of a larger problem I've noticed. Sometimes, there :are several parts of the same application that must get and release various :resources. Sometimes they are the same resources. : :The current situation forces me to one of several alternatives: 1) always :leave the resource allocated after getting it (wasteful of memory); 2) do :a DetachResource to keep other modules from releasing it (even more :wasteful, in general); or 3) set up a complex bookkeeping system so that :I know which resources are still needed. 4) Use the series: LoadResource(rsrc); use resource ReleaseResource(rsrc); instead of just assuming rsrc is already in memory. This works in both cases (ie., you releasing a resource from a far, and somebody else releasing your resource) And takes very little time. For resources that you don't keep pointers to, ammend it by doing GetResource, LoadResource. Note that this is actually a good habit to get into anyway (especially in "visitor" code, since the "host" may have SetResLoad(false)).