AIncludes Release Notes First created on: 3/30/92 8:25:13 PM ----------------------------------------------------------•---------------------------------------------------------- 3/30/92 8:25:21 PM File: ScriptEqu.a,47 Owner: Peter Edberg Project: MainProj∫Interfaces∫AIncludes∫ File: SysTypes.r,25 Owner: Peter Edberg Project: MainProj∫Interfaces∫RIncludes∫ File: International.r,19 Owner: Peter Edberg Project: MainProj∫Toolbox∫ScriptMgr∫ Radar bug: #1022875 > Release notes for this change: (note that some files that are part of this change - Script.h, Script.p, ScriptMgrKeyGetSet.a - are being changed by other people, so this change will appear in several places in the release notes) The KSWP resource specifies key combinations that result in a call to KeyScript with particular verbs. If the KeyScript call with a particular verb does something useful, then the corresponding key combination is stripped from the event queue. The Cmd-rightArrow key combination is supposed to set the keyboard to Roman; this is not really useful on a Roman-only system. However, the KeyScript verb used with this key combination was smRoman; unfortunately, this verb is also used to update to the current Roman keyboard, and so it cannot be ignored by KeyScript even on a Roman-only system.Thus, Cmd-rightArrow was being stripped on a Roman-only system even when it did nothing useful. This prevented the use of this key combination for its Finder function. To solve this problem, I added another KeyScript verb, smKeyRoman. This verb also sets the keyboard to Roman, but it is ignored on a Roman-only system. Then I updated the KSWP resource to use this value instead of smRoman with the Cmd-rightArrow key combination. Changes: 1. Added smKeyRoman to interface files: ScriptEqu.a, Script.h, Script.p. 2. Updated KSWP template in SysTypes.r to include RomanIfOthers action for KSWP (corresponds to smKeyRoman). 3. Modified KeyScript (file ScriptMgrKeyGetSet.a) to support this new verb. 4. Updated the KSWP data for the U.S. system (file International.r) > What was tested: Since the KeyScript change is being done by someone else, all I was able to do was build the System file with the other changes and use ResEdit to verify that the KSWP data was updated as described. Note that KeyScript will handle unimplemented verbs by doing nothing, so nothing bad will happen even if the KeyScript change does not get in. ----------------------------------------------------------•---------------------------------------------------------- 4/3/92 3:09:04 PM File: ScriptEqu.a,48 Owner: Peter Edberg Project: MainProj∫Interfaces∫AIncludes∫ Radar bug: #1026378 > Release notes for this change: Add CharType constants smCharContextualLR and smCharNonContextualLR. This is just assigning symbolic constants to the values that are already returned by CharType for Thai (smCharContextualLR), Cyrillic (smCharNonContextualLR), and other contextual and non-contextual left-right non-Roman characters. Changes to ScriptEqu.a, Script.[hp] (the latter were made by Don Louv). > What was tested: Full system build. ----------------------------------------------------------•---------------------------------------------------------- 4/8/92 12:01:09 PM File: ScriptEqu.a,50 Owner: Peter Edberg Project: MainProj∫Interfaces∫AIncludes∫ File: Script.h,60 Owner: Peter Edberg Project: MainProj∫Interfaces∫CIncludes∫ File: Script.p,58 Owner: Peter Edberg Project: MainProj∫Interfaces∫PInterfaces∫ File: ScriptPriv.a,63 Owner: Peter Edberg Project: MainProj∫Internal∫Asm∫ File: ScriptPriv.h,23 Owner: Peter Edberg Project: MainProj∫Internal∫C∫ Radar bug: #1026516 > Release notes for this change: Many of the script manager routines that depend on a grafport (to get a font => script code that determines their operation) have an alternate form in which a script code can be passed as a parameter; this is useful when a grafport may not be available. Until now, interfaces for these alternate forms are all private (although they are already being tested for Cube-E). They are now being made public, as various people need them, including N&C and El Kabong applications. The implementation of these routines is the same standard forms; the code that handles the script code parameter is in the Script Manager dispatcher, and it strips this parameter, so by the time we reach the routines themselves, the stack setup is the same as the normal way of calling these routines. These interfaces are: SCCharByte, SCCharType, SCFindWord, SCTransliterate, SCParseTable, SCLowerText, SCUpperText, SCStripText, SCStripUpperText. > What was tested: Full System file build (-e): there is no change in functionality, just moving interfaces. Pasted resulting Script Mgr patches into Cube-E 36++ and ran the system. ----------------------------------------------------------•---------------------------------------------------------- 4/9/92 6:07:35 PM File: GestaltEqu.a,52 Owner: Jeff Miller Project: MainProj∫Interfaces∫AIncludes∫ File: GestaltEqu.h,53 Owner: Jeff Miller Project: MainProj∫Interfaces∫CIncludes∫ File: GestaltEqu.p,47 Owner: Jeff Miller Project: MainProj∫Interfaces∫PInterfaces∫ File: Sys.r,304 Owner: Jeff Miller Project: MainProj∫Make∫ File: GestaltFunction.a,42 Owner: Jeff Miller Project: MainProj∫OS∫Gestalt∫ File: GestaltPatches.a,31 Owner: Jeff Miller Project: MainProj∫OS∫Gestalt∫ File: PatchIIciROM.a,150 Owner: Jeff Miller Project: MainProj∫Patches∫ File: ShutDownMgr.a,50 Owner: Jeff Miller Project: MainProj∫Toolbox∫ShutDownMgr∫ File: SoundMgrPatch.a,25 Owner: Jeff Miller Project: MainProj∫Toolbox∫SoundMgr∫ Radar bug: #1026795 > Release notes for this change: As we do for the PowerBook 100, we need to change boxFlag on Macintosh LC II machines from its original value of boxMacLC to boxMacLCII in PatchIIciROM.a. We also need to add a new value that can be returned for gestaltMachineType, gestaltMacLCII. This has implications in several areas of the System. We need to add a new entry in the machine icon table for Gestalt (the same icon as the LC) and a new string in the machine name STR# in the System (”Macintosh LC II”), both of which show up in the Finder. We need to make sure that Gestalt returns the same value for gestaltHasSoftPowerOff and gestaltSerialAttr as the Mac LC. In the ShutDown Manager, we need to set the CLUT to 50% gray on a restart as we do for an LC. In the Sound Manager, we need to expand the sound primitive vector table to include the LC II. > What was tested: On an LC II, verified that boxFlag was set correctly, verified that the right icon and machine string appear in About This Macintosh…, verified that the CLUT was set to 50% gray on restart, verified that sound input worked. Didn’t check the returned values for gestaltHasSoftPowerOff and gestaltSerialAttr, though. ----------------------------------------------------------•---------------------------------------------------------- 4/21/92 4:40:17 PM File: Traps.a,75 Owner: Dean Yu Project: MainProj∫Interfaces∫AIncludes∫ File: Resources.h,12 Owner: Dean Yu Project: MainProj∫Interfaces∫CIncludes∫ File: Resources.p,8 Owner: Dean Yu Project: MainProj∫Interfaces∫PInterfaces∫ File: ResourceMgrExtensions.a,45 Owner: Dean Yu Project: MainProj∫Toolbox∫ResourceMgr∫ Radar bug: #1018901 > Release notes for this change: With the Fonts folder, a font family can be split across several files. This is a new behaviour, and programs that assume that a ‘FOND’ will contain information about all the fonts belonging to that font family will be in for a surprise. Provide a new call, GetNextFOND, which will take a handle to a ‘FOND’ resource as a parameter, and it will return the next ‘FOND’ resource in the resource chain belonging to the same family. The LaserWriter driver is currently the only client of this call. > What was tested: The bug states that MacWrite II’s ReadMe file does not print correctly under Cube-E. This was due to the fact that the LaserWriter driver was looking for a style mapping table in the first Gevena ‘FOND’ it found. This is the one in the system file, which does not have a style mapping table. Because it does not find a style mapping table, it tries to download a bitmapped font. Instead, the LaserWriter driver should look for another Geneva ‘FOND’. The LaserWriter driver has been changed to call the new routine GetNextFOND to look for another ‘FOND’ for the same family if the ‘FOND’ it has does not have a style mapping table. With this fix, MacWrite II can print it’s ReadMe document without any problems, whereas it would print in Courier without the fix. GetNextFOND also has code which checks to see if the ‘FOND’ is in an override map. If it is, GetNextFOND will search for the map after the first non-override map after the override map, so that the same ‘FOND’ resource will not be returned all the time. To test this, I placed a copy of the Geneve ‘FOND’, and the ‘NFNT’s in the System into a Gibbly and tried to print the ReadMe file. This also printed correctly. ----------------------------------------------------------•---------------------------------------------------------- 5/1/92 11:05:02 AM File: TextServices.a,24 Owner: Kenny S. Tung Project: MainProj∫Interfaces∫AIncludes∫ File: TextServices.h,40 Owner: Kenny S. Tung Project: MainProj∫Interfaces∫CIncludes∫ File: TSMPrivate.a,20 Owner: Kenny S. Tung Project: MainProj∫Internal∫Asm∫ File: TSMPrivate.h,29 Owner: Kenny S. Tung Project: MainProj∫Internal∫C∫ Radar bug: #1028301 > Release notes for this change: Since we changed SWM to a driver now, SetTSMDialogState, RestoreTSMDialogState, TSMChangeCursor, and TSMRestoreCursor calls are no longer needed and should be removed from the source code. > What was tested: This is a design change. ----------------------------------------------------------•---------------------------------------------------------- 5/18/92 3:53:37 PM File: TextServices.a,25 Owner: Kenny S. Tung Project: MainProj∫Interfaces∫AIncludes∫ File: TextServices.h,43 Owner: Kenny S. Tung Project: MainProj∫Interfaces∫CIncludes∫ File: TSMFunctions.c,38 Owner: Kenny S. Tung Project: MainProj∫Toolbox∫TextServicesMgr∫ Radar bug: #1029814 > Release notes for this change: NewTSMDocument didn’t check if supported type is the right type. Now it will check the number of interface type and check if the type is ‘tsvc’, if not it will return ‘tsmUnsupportedTypeErr’. Also added ‘tsmUnsupportedTypeErr’ in TextServicesMgr.[ah]. > What was tested: Tested with TSMTest tool TCS #4 and #6. ----------------------------------------------------------•---------------------------------------------------------- 5/27/92 6:42:59 PM File: DictionaryEqu.a,1 Owner: hae-sung Kim Project: MainProj∫Interfaces∫AIncludes∫ File: SysErr.a,36 Owner: hae-sung Kim Project: MainProj∫Interfaces∫AIncludes∫ File: Traps.a,77 Owner: hae-sung Kim Project: MainProj∫Interfaces∫AIncludes∫ File: Dictionary.h,1 Owner: hae-sung Kim Project: MainProj∫Interfaces∫CIncludes∫ File: Errors.h,19 Owner: hae-sung Kim Project: MainProj∫Interfaces∫CIncludes∫ File: Dictionary.p,1 Owner: hae-sung Kim Project: MainProj∫Interfaces∫PInterfaces∫ File: Errors.p,21 Owner: hae-sung Kim Project: MainProj∫Interfaces∫PInterfaces∫ Radar bug: #1030902 > Release notes for this change: Make new interface files for Dictionary manager. Add Dictionary manager error numbers. > What was tested: Compiled each interface file. ----------------------------------------------------------•---------------------------------------------------------- 5/27/92 10:41:35 PM File: GestaltEqu.a,54 Owner: Kip Olson Project: MainProj∫Interfaces∫AIncludes∫ File: GestaltEqu.h,55 Owner: Kip Olson Project: MainProj∫Interfaces∫CIncludes∫ File: GestaltEqu.p,49 Owner: Kip Olson Project: MainProj∫Interfaces∫PInterfaces∫ File: UniversalEqu.a,25 Owner: Kip Olson Project: MainProj∫Internal∫Asm∫ File: SinHighLevel.c,35 Owner: Kip Olson Project: MainProj∫Toolbox∫SoundMgr∫ File: SoundMgrLowLevel.a,31 Owner: Kip Olson Project: MainProj∫Toolbox∫SoundMgr∫ File: SoundMgrPriv.c,64 Owner: Kip Olson Project: MainProj∫Toolbox∫SoundMgr∫ Radar bug: #1030293 > Release notes for this change: Some CPU’s cannot play and record at the same time (like the Mac LC, LC II and Vail). A bit was added to Gestalt called “gestaltPlayAndRecord” which tells you if a machine can play and record simultaneously. If the bit is not set, the SndRecord() dialog knows that it should turn off recording before playing the sound just recorded. Also, SndNewChannel() knows not to allow a channel to be opened while recording on an LC. > What was tested: Tested on a Mac LC, IIsi ----------------------------------------------------------•---------------------------------------------------------- 6/2/92 9:20:58 PM File: GestaltEqu.a,55 Owner: Jeff Miller Project: MainProj∫Interfaces∫AIncludes∫ File: GestaltEqu.h,56 Owner: Jeff Miller Project: MainProj∫Interfaces∫CIncludes∫ File: GestaltEqu.p,50 Owner: Jeff Miller Project: MainProj∫Interfaces∫PInterfaces∫ File: InternalOnlyEqu.a,22 Owner: Jeff Miller Project: MainProj∫Internal∫Asm∫ File: Sys.r,317 Owner: Jeff Miller Project: MainProj∫Make∫ File: GestaltPatches.a,33 Owner: Jeff Miller Project: MainProj∫OS∫Gestalt∫ File: PatchIIciROM.a,153 Owner: Jeff Miller Project: MainProj∫Patches∫ File: ShutDownMgr.a,51 Owner: Jeff Miller Project: MainProj∫Toolbox∫ShutDownMgr∫ File: SoundMgrLowLevel.a,32 Owner: Jeff Miller Project: MainProj∫Toolbox∫SoundMgr∫ File: SoundMgrPatch.a,27 Owner: Jeff Miller Project: MainProj∫Toolbox∫SoundMgr∫ Radar bug: #1031451 > Release notes for this change: As we do for the PowerBook 140, we need to change boxFlag on PowerBook 145 machines from its original value of boxPowerBook170 to boxPowerBook145 in PatchIIciROM.a. We also need to add a new value that can be returned for gestaltMachineType, gestaltPowerBook145. This has implications in several areas of the System. We need to add a new entry in the machine icon table for Gestalt (the same icon as the PowerBook 140) and a new string in the machine name STR# in the System (”PowerBook 140.” for now, until we announce the machine (the period at the end will let you tell the difference in the meantime)), both of which show up in the Finder. In the ShutDown Manager, we need to close the video driver at shutdown or restart as we do for the 140 and 170. In the Sound Manager, we need to expand the sound primitive vector table to include the 145, and fool the Gestalt attribute table into thinking a 145 is really a 140. > What was tested: On a PowerBook 145, verified that boxFlag was set correctly, verified that the right icon and machine string appear in About This Macintosh…, verified that playing a sound and sound input worked. ----------------------------------------------------------•---------------------------------------------------------- 6/23/92 1:44:39 PM File: ScriptEqu.a,52 Owner: Susan M. Bartalo Project: MainProj∫Interfaces∫AIncludes∫ File: International.r,26 Owner: Susan M. Bartalo Project: MainProj∫Toolbox∫ScriptMgr∫ File: TextEdit.a,45 Owner: Susan M. Bartalo Project: MainProj∫Toolbox∫TextEdit∫ File: TextEditPatchIIciROM.a,46 Owner: Susan M. Bartalo Project: MainProj∫Toolbox∫TextEdit∫ Radar bug: #1029263 > Release notes for this change: Now determining whether to synchronize the font and keyboard for unstyled text by checking the script’s ‘itlb’ flags word. A new bit has been defined ‘smsfSynchUnstyledTE’; the default is 0 which means do not synchronize and 1 (obviously) means synchronize. This allows each script system to determine when they want to synchronize their keyboard and font, and it removes the special casing script knowledge from TextEdit. The script systems that currently want to synchronize include: Roman, Cyrillic, Arabic, Hebrew The script systems that currently do NOT want to synchronize include: Eastern European (Hungarian, Czechoslovakia, Poland), Thai, Japanese, Korean, Chinese, Korean > What was tested: Using TeachText and MacDraw 1.9.5, I tested if the keyboard synchronized to the font. I modified the Roman and Hebrew ‘itlb’ to be set correctly (for synchronization) and then I tested on a system that included Roman, Hebrew, Thai and Japanese. I made each of these the system script using ScriptSwitcher and the expected synchronization behavior was exhibited. ----------------------------------------------------------•---------------------------------------------------------- 7/15/92 8:16:45 PM File: ToolUtils.a,25 Owner: Susan M. Bartalo Project: MainProj∫Interfaces∫AIncludes∫ File: TextEdit.h,22 Owner: Susan M. Bartalo Project: MainProj∫Interfaces∫CIncludes∫ File: TextEdit.p,19 Owner: Susan M. Bartalo Project: MainProj∫Interfaces∫PInterfaces∫ File: TextEditPriv.a,16 Owner: Susan M. Bartalo Project: MainProj∫Internal∫Asm∫ File: TextEdit.a,49 Owner: Susan M. Bartalo Project: MainProj∫Toolbox∫TextEdit∫ File: TextEditPatchIIciROM.a,50 Owner: Susan M. Bartalo Project: MainProj∫Toolbox∫TextEdit∫ Radar bug: ## > Release notes for this change: Move DoText selectors from the private interface file TextEditPriv.a to the public interface files so the whole darn world can use the selectors instead of hard-coded constants! Renamed teMark to teHighlight and teLoc to teCaret. > What was tested: No testing necessary since just changed the names. ----------------------------------------------------------•---------------------------------------------------------- 10/16/92 10:44:37 AM File: Traps.a,78 Owner: Dean Yu Project: MainProj∫Interfaces∫AIncludes∫ File: Memory.h,21 Owner: Dean Yu Project: MainProj∫Interfaces∫CIncludes∫ File: Traps.h,16 Owner: Dean Yu Project: MainProj∫Interfaces∫CIncludes∫ File: Memory.p,10 Owner: Dean Yu Project: MainProj∫Interfaces∫PInterfaces∫ File: Traps.p,15 Owner: Dean Yu Project: MainProj∫Interfaces∫PInterfaces∫ File: OSTraps.a,16 Owner: Dean Yu Project: MainProj∫Libs∫InterfaceSrcs∫ Radar bug: > Release notes for this change: Added interface for BlockMoveData. > What was tested: Made sure all builds still do. ----------------------------------------------------------•---------------------------------------------------------- 3/25/93 8:39:52 PM File: Displays.a,1 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫AIncludes∫ File: Displays.h,1 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: DisplaysPriv.a,1 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫Asm∫ File: DisplaysPriv.h,1 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫C∫ File: ProcessesPriv.h,1 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫C∫ Radar bug: > Release notes for this change: First checkin of Display Manager Sources > What was tested: Nobody depends on them yet. They do not affect the supermario build. One thing to watch for is ProcessesPriv.h is the new name for MFPrivate.h on Reality and sometime, MFPrivate.h should be purged from SuperMario. ----------------------------------------------------------•---------------------------------------------------------- 3/30/93 10:41:11 AM File: Traps.a,12 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫AIncludes∫ File: Traps.h,6 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: Traps.p,5 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫PInterfaces∫ Radar bug: > Release notes for this change: Add Display Manager trap to various header files. > What was tested: Build ROM and run with it. Built RISC but don’t have a Flash card for PDM to test it. ----------------------------------------------------------•---------------------------------------------------------- 4/8/93 7:45:38 PM File: Displays.a,2 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫AIncludes∫ File: Displays.h,2 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: Video.h,2 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: DisplaysPriv.h,3 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫C∫ Radar bug: > Release notes for this change: Added support for mode switching to display manager and new switchMode control call to video.h. See release notes for Display Manager. > What was tested: Built and tested on PDM. ----------------------------------------------------------•---------------------------------------------------------- 5/28/93 4:06:51 PM File: Displays.a,3 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫AIncludes∫ File: Displays.h,3 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: DisplaysPriv.a,3 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫Asm∫ File: DisplaysPriv.h,4 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫C∫ File: DisplayMgr.a,4 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgr.c,5 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgrUtils.c,2 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ Radar bug: #1081805,1086363 > Release notes for this change: Pre-alpha freeze check-in. This code fixes the 1081805,1086363 and a number of unreported bugs that I found while preparing for alpha. I fixed some patches that run on 68K machines. Several selectors have moved to the private range and so I reordered the public ones. In order to not confuse older version of finder and monitors, the gestalt selector for display manager has changed from ‘udsk’ to ‘dply’. That way new code doesn’t see old code and old code doesn’t see new. There was a persistent multiple monitor bug that would (if you worked at it) crash your system. It depended on moving displays and then waving the cursor as the display manager rearranged the displays. I think I have this fixed, but I will keep an eye on it. I also changed the interfaces a little to simplify walking ALL display (including inactive ones). > What was tested: I have been building and testing with this code for some time. I spend yesterday and today really hammering on it on both 68K and PDM machines. It seems to be holding up well, but I will be continuing my testing and bug fixes. ----------------------------------------------------------•---------------------------------------------------------- 6/25/93 9:41:50 AM File: SonoraDriver.a,15 Owner: Ian Hendry Project: SuperMarioProj∫DeclData∫DeclVideo∫Sonora∫ File: Displays.a,5 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫AIncludes∫ File: Displays.h,5 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: DisplaysPriv.a,5 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫Asm∫ File: DisplaysPriv.h,7 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫C∫ File: DisplayMgr.c,9 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ Radar bug: > Release notes for this change: Changed DMAddDisplay to add device to devicelist and DMRemoveDisplay to remove device from devicelist. Added some new calls to support DMAddDisplay, DMRemoveDisplay and smart monitors (see header and forthcoming ERS). Changed the display manager to clear get connection and get timing calls (rather than the driver). This was Mike Puckett’s suggestion. It makes it so if you add fields, old drivers don’t set only some of the fields. > What was tested: Build and tested ROM on PDM. Mode switching still worked. I to work with Max to be sure that DMAddDisplay and DMRemoveDisplay work. ----------------------------------------------------------•---------------------------------------------------------- 8/4/93 4:06:15 PM File: Displays.a,6 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫AIncludes∫ File: GestaltEqu.a,19 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫AIncludes∫ File: Displays.h,6 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: GestaltEqu.h,18 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: GestaltEqu.p,10 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫PInterfaces∫ File: DisplaysPriv.a,6 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫Asm∫ File: DisplaysPriv.h,8 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫C∫ File: DisplayMgr.a,7 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgr.c,12 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgr.make,5 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgrUtils.c,6 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ Radar bug: #1101633,1098397,1101795,1101636,1102280 > Release notes for this change: Fixed a number of compatibility bugs (1101633,1098397,1101795,1101636,1102280). I investigated a number of strategies for compatibility when the main display changed to a different monitor. The problem was that there were alway incompatibilities with some applications and/or performance penalties. New Implementation: Exchange the contents the old main device and the new main device so that cached handles still behave correctly. There is no performance penalty and (so far) no application incompatibilities beyond those introduced by the change in size. I dicussed all these solutions with Kon Othmer and we both feel this is the base strategy. The only problem is that this implementation breaks the connection between a phsyical monitor and its gDevice. Rejected implementations:   (1) changing the lo-mem MainDevice field (apps cache this value),   (2) introducing a dummy device in the device list that MainDevice points to and shadowing and disabling the real main device such that caching MainDevice handle works (some apps had problems and performance suffered because QD always take the multidevice case, and boot code assumes that all devices in the device list are active screen devices and therefore ‘scrn’ resources are invalid if it finds an extra device),   (3) introducing a dummy device BEFORE the device list and pointed MainDevice at it. Fixed the boot problems and the performance hit, but broke applications that assume MainDevice is in device list (including MicroSoft Excel). Added compatibility model. Conditionally compiled fixes in a separate file with some guildlines for making sure these fixes can be turned off. The CloseView compatilbility fix is the only one in use. WARNING: WARNING: As of this check in, you must use either Pre-Display Manager Monitors CP or WARNING: Psychic TV A4 Monitors CP. The API changed slightly to clean up the interface WARNING: and intermediate versions will crash. WARNING: > What was tested: Built and tested extension with Reality sources. Margarita regressed most of the existing bugs and things seemed to work. I updated SuperMario from reality and built and tested resolution flipping and new version of monitors on PDM. Everything seems fine. ----------------------------------------------------------•---------------------------------------------------------- 8/16/93 9:17:21 PM File: Displays.a,7 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫AIncludes∫ File: Displays.h,7 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: DisplaysPriv.a,7 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫Asm∫ File: DisplaysPriv.h,10 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫C∫ File: DisplayMgr.a,9 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgr.c,13 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgrCompatibility.c,2 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgrUtils.c,7 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ Radar bug: #1099391 > Release notes for this change: Synced to latest Reality changes. Fixed Apple event notification bugs where applications were getting events they did not know how to handle and were putting up error messages. Fixed apple event notification to return pre/post information on display states. Fixed notification to procptrs for extensions. Removed some preliminary data structures that are not used in DM 1.0. Support QuickDraw GX. > What was tested: Built and ran. Checked mode switches. ----------------------------------------------------------•---------------------------------------------------------- 11/5/93 10:00:41 AM File: Displays.a,9 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫AIncludes∫ File: Displays.h,10 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: Quickdraw.h,6 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: SysEqu.h,5 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: Video.h,6 Owner: Ian Hendry Project: SuperMarioProj∫Interfaces∫CIncludes∫ File: DisplaysPriv.a,11 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫Asm∫ File: DisplaysPriv.h,14 Owner: Ian Hendry Project: SuperMarioProj∫Internal∫C∫ File: DisplayMgr.a,12 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgr.c,20 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgrOverlap.c,2 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: DisplayMgrUtils.c,11 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫DisplayMgr∫ File: MenuMgr.a,20 Owner: Ian Hendry Project: SuperMarioProj∫Toolbox∫MenuMgr∫ Radar bug: > Release notes for this change: Rolled in Excelsior changes for PDM ROM. > What was tested: Built and booted a RISC ROM on coldfusion. ----------------------------------------------------------•----------------------------------------------------------