localisation/apparchitecture/group/RELEASE.TXT
branchSymbian3
changeset 57 b8d18c84f71c
parent 1 8758140453c0
equal deleted inserted replaced
56:aa99f2208aad 57:b8d18c84f71c
   492 Includes UNICODE release of all components.
   492 Includes UNICODE release of all components.
   493 
   493 
   494 1) Changed over to new build system splitting mnt.cmd into ebld.bat
   494 1) Changed over to new build system splitting mnt.cmd into ebld.bat
   495 and mnt.cmd and using makmake etc...
   495 and mnt.cmd and using makmake etc...
   496 
   496 
   497 2) Bug fix SW1-516: to speed up drawing of control panel moved the DLL loading into
   497 2) Defect fix SW1-516: to speed up drawing of control panel moved the DLL loading into
   498 CApaSystemControl::CreateL() from CApaSystemControl::ConstructL()
   498 CApaSystemControl::CreateL() from CApaSystemControl::ConstructL()
   499 which was being called to build up the list of available controls. 
   499 which was being called to build up the list of available controls. 
   500 Added member data iUidType and iFullPath.  This also means that OOM
   500 Added member data iUidType and iFullPath.  This also means that OOM
   501 is less likely when bringing up the control panel.
   501 is less likely when bringing up the control panel.
   502 
   502 
   503 3) Bug fix SW1-451: in CApaScanningAppFinder::FindAllAppsL() set
   503 3) Defect fix SW1-451: in CApaScanningAppFinder::FindAllAppsL() set
   504 iDriveList=NULL after deleting it (spotted by MartinB).
   504 iDriveList=NULL after deleting it (spotted by MartinB).
   505 
   505 
   506 4) Bug fix SW1-566: in CApaScanningAppFinder destructor now delete
   506 4) Defect fix SW1-566: in CApaScanningAppFinder destructor now delete
   507 iFileList.
   507 iFileList.
   508 
   508 
   509 5) Bug fix SW1-620: in CApaScanningControlFinder::NextL() iFileIndex
   509 5) Defect fix SW1-620: in CApaScanningControlFinder::NextL() iFileIndex
   510 was only being reset to 0 if there was a drive in between which
   510 was only being reset to 0 if there was a drive in between which
   511 failed GetFileListL(); if 2 consecutive drives both had controls it
   511 failed GetFileListL(); if 2 consecutive drives both had controls it
   512 was hit and miss whether all those on the second drive would be
   512 was hit and miss whether all those on the second drive would be
   513 correctly picked up since it only started scanning the file list at
   513 correctly picked up since it only started scanning the file list at
   514 the iFileIndex value at which the drive before had finished.  Fix is
   514 the iFileIndex value at which the drive before had finished.  Fix is
   602 
   602 
   603 Binary compatible with 065 - 075
   603 Binary compatible with 065 - 075
   604 
   604 
   605 ) Fixes CSW3-1386: Overriding of ROM apps doesnt work - the in ROM versions are still loaded instead of those in RAM. The fix ensures that the correct dll is loaded, but does not cache the new AIF data.
   605 ) Fixes CSW3-1386: Overriding of ROM apps doesnt work - the in ROM versions are still loaded instead of those in RAM. The fix ensures that the correct dll is loaded, but does not cache the new AIF data.
   606 
   606 
   607 ) Fixes SW1-122: OPL programs don't run when copied from one disk to another. This was another manifestation of the above bug, and the fix carries the same proviso (though in this case it's meaningless as the data is the same - it was just copied between discs).
   607 ) Fixes SW1-122: OPL programs don't run when copied from one disk to another. This was another manifestation of the above defect, and the fix carries the same proviso (though in this case it's meaningless as the data is the same - it was just copied between discs).
   608 
   608 
   609 ) The above fixes left a couple of slight problems, and these have been noted in a new bug report SW1-134.
   609 ) The above fixes left a couple of slight problems, and these have been noted in a new defect report SW1-134.
   610 
   610 
   611 
   611 
   612 
   612 
   613 AppArc 1.0.075
   613 AppArc 1.0.075
   614 ==============
   614 ==============
   749 
   749 
   750 General:
   750 General:
   751 
   751 
   752 Binary compatible with 065 - 069
   752 Binary compatible with 065 - 069
   753 
   753 
   754 ) Fixed a bug in the recognizer list where in copying recognizers from one list to another the wrong extension was being appended to recognizer dll names and so they were failing to load.
   754 ) Fixed a defect in the recognizer list where in copying recognizers from one list to another the wrong extension was being appended to recognizer dll names and so they were failing to load.
   755 Involved adding one line of code that parsed in the absent .RDL extension. (spotted by Bill)
   755 Involved adding one line of code that parsed in the absent .RDL extension. (spotted by Bill)
   756 
   756 
   757 
   757 
   758 
   758 
   759 AppArc 1.0.069
   759 AppArc 1.0.069
  1083 
  1083 
  1084 ) Binary compatible with 058. Source compatible unless you used KApfTempPath in apfdef.h
  1084 ) Binary compatible with 058. Source compatible unless you used KApfTempPath in apfdef.h
  1085 
  1085 
  1086 ) KApfTempPath now hidden in a static method Apfile::TempPath(), added in a BC manner.
  1086 ) KApfTempPath now hidden in a static method Apfile::TempPath(), added in a BC manner.
  1087 
  1087 
  1088 ) Bug in TApaAppCapability::InternalizeL() that was causing the iIsHidden flag to always be set to false fixed (spotted by Bill).
  1088 ) Defect in TApaAppCapability::InternalizeL() that was causing the iIsHidden flag to always be set to false fixed (spotted by Bill).
  1089 
  1089 
  1090 ) 2nd UID of KSharedLibraryUid [0x1000008d] added to apparc.dll, apgrfx.dll, apfile.dll and apserv.dll (SW-3947)
  1090 ) 2nd UID of KSharedLibraryUid [0x1000008d] added to apparc.dll, apgrfx.dll, apfile.dll and apserv.dll (SW-3947)
  1091 
  1091 
  1092 ) CApaAppListServer::NewL() no longer panics if you try to create a second instance - it now leaves KErrAlreadyExists (SW-4338)
  1092 ) CApaAppListServer::NewL() no longer panics if you try to create a second instance - it now leaves KErrAlreadyExists (SW-4338)
  1093 
  1093 
  1344 
  1344 
  1345 ) CApaIconFileReader::NewL() added to complement NewLC()
  1345 ) CApaIconFileReader::NewL() added to complement NewLC()
  1346 
  1346 
  1347 ) Extra "name" builds added to all .mak files to make binary compatable releases easier (suggested by Geert)
  1347 ) Extra "name" builds added to all .mak files to make binary compatable releases easier (suggested by Geert)
  1348 
  1348 
  1349 ) Temporarily iconic doors now persist the correct glass door size even if the embedded doc is edited (bug spotted by MartinH SW-2195)
  1349 ) Temporarily iconic doors now persist the correct glass door size even if the embedded doc is edited (defect spotted by MartinH SW-2195)
  1350 
  1350 
  1351 ) Base address of 0x43700000 set for apserv.dll (ommission spotted by MartinB)
  1351 ) Base address of 0x43700000 set for apserv.dll (ommission spotted by MartinB)
  1352 
  1352 
  1353 ) All RApaLsSession methods now implemented except for UpdateList() and StartApp(), which still return KErrNotSupported.
  1353 ) All RApaLsSession methods now implemented except for UpdateList() and StartApp(), which still return KErrNotSupported.
  1354 
  1354 
  1377 
  1377 
  1378 From Neil:
  1378 From Neil:
  1379 
  1379 
  1380 ) CApaCommandLine::New(HBufC*) added.
  1380 ) CApaCommandLine::New(HBufC*) added.
  1381 
  1381 
  1382 ) Untrapped leave bug fix to CApaTaskList
  1382 ) Untrapped leave defect fix to CApaTaskList
  1383 
  1383 
  1384 From Ian:
  1384 From Ian:
  1385 
  1385 
  1386 ) OOM testcode T_OOM added. A couple of OOM fixes have arisen from this.
  1386 ) OOM testcode T_OOM added. A couple of OOM fixes have arisen from this.
  1387 
  1387 
  1470 
  1470 
  1471 1) Binary compatible with 049
  1471 1) Binary compatible with 049
  1472 
  1472 
  1473 From Ian:
  1473 From Ian:
  1474 
  1474 
  1475 2) Bug fix to CApaDoor::ExternalizeStateStream() - temporarily iconic doors now remember their glass size correctly after multiple Store()'s (spotted by DavidA)
  1475 2) Defect fix to CApaDoor::ExternalizeStateStream() - temporarily iconic doors now remember their glass size correctly after multiple Store()'s (spotted by DavidA)
  1476 
  1476 
  1477 
  1477 
  1478 
  1478 
  1479 
  1479 
  1480 
  1480 
  1497 
  1497 
  1498 1) Not binary compatible with previous releases
  1498 1) Not binary compatible with previous releases
  1499 
  1499 
  1500 From Ian:
  1500 From Ian:
  1501 
  1501 
  1502 2) Bug fix to dodgy ASSERT in CApaDoor::DetachFromStore() (spotted by DavidA)
  1502 2) Defect fix to dodgy ASSERT in CApaDoor::DetachFromStore() (spotted by DavidA)
  1503 
  1503 
  1504 ) CApaDocument::EditL() now takes an extra parameter: TBool aReadOnly.
  1504 ) CApaDocument::EditL() now takes an extra parameter: TBool aReadOnly.
  1505 If aReadOnly is true, the embedded doc should be opened in read-only mode - ie navigation of the document should be allowed, but it should not be possible to change the content.
  1505 If aReadOnly is true, the embedded doc should be opened in read-only mode - ie navigation of the document should be allowed, but it should not be possible to change the content.
  1506 This parameter defaults to EFalse.
  1506 This parameter defaults to EFalse.
  1507 
  1507 
  1508 ) Agenda bugs SW-479 and SW-520 fixed - glass doors now correctly persist their size if they are temporarily made iconic
  1508 ) Agenda defects SW-479 and SW-520 fixed - glass doors now correctly persist their size if they are temporarily made iconic
  1509 
  1509 
  1510 ) CApaDoor::SetFormatToTemporaryIcon() now takes a TBool parameter which allows it to be toggled on and off. The default parameter is ETrue
  1510 ) CApaDoor::SetFormatToTemporaryIcon() now takes a TBool parameter which allows it to be toggled on and off. The default parameter is ETrue
  1511 If a door is in iconic mode, SetFormatToTemporaryIcon(ETrue) has no effect - it stays iconic.
  1511 If a door is in iconic mode, SetFormatToTemporaryIcon(ETrue) has no effect - it stays iconic.
  1512 If a door is glass, SetFormatToTemporaryIcon(ETrue) temporarily makes it iconic, but when persisted the door will persist glass door settings.
  1512 If a door is glass, SetFormatToTemporaryIcon(ETrue) temporarily makes it iconic, but when persisted the door will persist glass door settings.
  1513 SetFormatToTemporaryIcon(EFalse) only has an effect if the door is currently ETemporarilyIconic. In this case the door is returned to EGlassDoor format.
  1513 SetFormatToTemporaryIcon(EFalse) only has an effect if the door is currently ETemporarilyIconic. In this case the door is returned to EGlassDoor format.
  1517 This fixes SW-1026 - doors being pasted from one app to another end up with the door size of the old app, even though this is often different to the default icon size in the new app.
  1517 This fixes SW-1026 - doors being pasted from one app to another end up with the door size of the old app, even though this is often different to the default icon size in the new app.
  1518 
  1518 
  1519 From Neil:
  1519 From Neil:
  1520 
  1520 
  1521 ) TApaWindowGroupName becomes CApaWindowGroupName, using an HBufC to provide support for long filenames.  
  1521 ) TApaWindowGroupName becomes CApaWindowGroupName, using an HBufC to provide support for long filenames.  
  1522 This will fix showstopper bug SW-1488
  1522 This will fix showstopper defect SW-1488
  1523 
  1523 
  1524 Consequent changes to this class are:
  1524 Consequent changes to this class are:
  1525 
  1525 
  1526 The static FindByXxx() functions no longer return an instance of the class.  
  1526 The static FindByXxx() functions no longer return an instance of the class.  
  1527 Use the NewL() or NewLC() variant which takes a window group id (returned by the FindByXxx() function), to initialize a window group name or the new exported function ConstructFromWgIdL() for an existing instance of the class
  1527 Use the NewL() or NewLC() variant which takes a window group id (returned by the FindByXxx() function), to initialize a window group name or the new exported function ConstructFromWgIdL() for an existing instance of the class
  1640 
  1640 
  1641 General:
  1641 General:
  1642 
  1642 
  1643 1) Binary compatible with 045
  1643 1) Binary compatible with 045
  1644 
  1644 
  1645 ) Fixed access violation bug in CApaDoor::SetFormatToGlass() (spotted by MartinD)
  1645 ) Fixed access violation defect in CApaDoor::SetFormatToGlass() (spotted by MartinD)
  1646 
  1646 
  1647 
  1647 
  1648 
  1648 
  1649 
  1649 
  1650 
  1650 
  1857 
  1857 
  1858 2) Regressed to GCCTOOLS 111
  1858 2) Regressed to GCCTOOLS 111
  1859 
  1859 
  1860 3) Interpreted app starter re-written (by Howard)
  1860 3) Interpreted app starter re-written (by Howard)
  1861 
  1861 
  1862 4) Bug fix to command line to remove trailing space from full command line (by Neil)
  1862 4) Defect fix to command line to remove trailing space from full command line (by Neil)
  1863 
  1863 
  1864 Notes for Glass-door enabled apps and SDK:
  1864 Notes for Glass-door enabled apps and SDK:
  1865 
  1865 
  1866 Having just written a glass door add-on for TOPBUT1 I thought it might be worth more carefully defining a couple of the methods in the CPicture interface:
  1866 Having just written a glass door add-on for TOPBUT1 I thought it might be worth more carefully defining a couple of the methods in the CPicture interface:
  1867 
  1867 
  1895 ) Apps must now export their constructor as the ordinal 2 function of their app dll. 
  1895 ) Apps must now export their constructor as the ordinal 2 function of their app dll. 
  1896 Changes will be made to the Eikon .def file to support this, but all apps should add the following line to their project to ensure that they have a first exported function as well as a second:
  1896 Changes will be made to the Eikon .def file to support this, but all apps should add the following line to their project to ensure that they have a first exported function as well as a second:
  1897 
  1897 
  1898 __FIRST_EXPORT
  1898 __FIRST_EXPORT
  1899 
  1899 
  1900 ) Bug fix in command line classes by Neil
  1900 ) Defect fix in command line classes by Neil
  1901 
  1901 
  1902 
  1902 
  1903 
  1903 
  1904 
  1904 
  1905 AppArc.040
  1905 AppArc.040
  1947 
  1947 
  1948 ) apgrfx.dll now has its base address set to avoid conflicts (spotted by MartinB)
  1948 ) apgrfx.dll now has its base address set to avoid conflicts (spotted by MartinB)
  1949 
  1949 
  1950 ) MApaDocContainer renamed MApaEmbeddedDocObserver, and an extra exit mode "EEmpty" added. If an embedded document has no content it should return EEmpty when it exits, and the container can then choose not to insert it if it doesnt want to.
  1950 ) MApaDocContainer renamed MApaEmbeddedDocObserver, and an extra exit mode "EEmpty" added. If an embedded document has no content it should return EEmpty when it exits, and the container can then choose not to insert it if it doesnt want to.
  1951 
  1951 
  1952 ) Bug in CApaDoor::RestoreDoc() fixed (spotted by DavidA)
  1952 ) Defect in CApaDoor::RestoreDoc() fixed (spotted by DavidA)
  1953 
  1953 
  1954 From Bill:
  1954 From Bill:
  1955 
  1955 
  1956 ) Rewrite of the file recogniser module, and new classes CApaAppList and CApaAppData that cache a list of all apps available on the system. No testcode for this stuff yet...
  1956 ) Rewrite of the file recogniser module, and new classes CApaAppList and CApaAppData that cache a list of all apps available on the system. No testcode for this stuff yet...
  1957 
  1957 
  1958 ) The interpreted app recogniser is now completely buggered and will have to be rewritten (Howard?)
  1958 ) The interpreted app recogniser is now completely perplexed and will have to be rewritten (Howard?)
  1959 
  1959 
  1960 From Neil:
  1960 From Neil:
  1961 
  1961 
  1962 ) Relocated the TApaCommandLine class from Eikon to Apparch.  This class encapsulates the command line and is formatted as follows:
  1962 ) Relocated the TApaCommandLine class from Eikon to Apparch.  This class encapsulates the command line and is formatted as follows:
  1963 
  1963 
  2154 	static TApaAppIdentifier ReadAppIdentifierL(const CStreamStore& ,const CStreamDictionary& )
  2154 	static TApaAppIdentifier ReadAppIdentifierL(const CStreamStore& ,const CStreamDictionary& )
  2155 	static void WriteAppIdentifierL(CStreamStore& ,CStreamDictionary& ,const TApaAppIdentifier& )
  2155 	static void WriteAppIdentifierL(CStreamStore& ,CStreamDictionary& ,const TApaAppIdentifier& )
  2156 
  2156 
  2157 Note that ReadRootStreamL() now takes an RFs& and WriteRootStreamL() has been overloaded with a version that takes a correctly constructed TApaAppIdentifier instead of a CApaApplication&
  2157 Note that ReadRootStreamL() now takes an RFs& and WriteRootStreamL() has been overloaded with a version that takes a correctly constructed TApaAppIdentifier instead of a CApaApplication&
  2158 
  2158 
  2159 ) Access violation bug in ~CApaProcess() fixed (spotted by MartinB)
  2159 ) Access violation defect in ~CApaProcess() fixed (spotted by MartinB)
  2160 
  2160 
  2161 ) The plan for passworded documents:
  2161 ) The plan for passworded documents:
  2162 
  2162 
  2163 When a document's RestoreL() is called and it begins to restore, the first thing it should do is check to see whether its store contains an appropriate password stream. 
  2163 When a document's RestoreL() is called and it begins to restore, the first thing it should do is check to see whether its store contains an appropriate password stream. 
  2164 If it does then this means the store is passworded, so prompt the user to enter the password (EikProcess should provide a method that pops up this dialog for you). 
  2164 If it does then this means the store is passworded, so prompt the user to enter the password (EikProcess should provide a method that pops up this dialog for you). 
  2442 
  2442 
  2443 Uses: E32[074] ; F32[040] ; Store[029] ; GDI[037] ; Fntstore[030] ; Fbserv[037] ; Bitgdi[039]
  2443 Uses: E32[074] ; F32[040] ; Store[029] ; GDI[037] ; Fntstore[030] ; Fbserv[037] ; Bitgdi[039]
  2444 
  2444 
  2445 Tools: E32Tools[046] ; E32Utils[003] ; GDITOOLS[026] ; GCCTOOLS[111]
  2445 Tools: E32Tools[046] ; E32Utils[003] ; GDITOOLS[026] ; GCCTOOLS[111]
  2446 
  2446 
  2447 1) Binary compatible bug fix release for Agenda and Data
  2447 1) Binary compatible defect fix release for Agenda and Data
  2448 
  2448 
  2449 2) No new components taken
  2449 2) No new components taken
  2450 
  2450 
  2451 Changes:
  2451 Changes:
  2452 
  2452 
  2528 
  2528 
  2529 ) CApaApplication::OpenIconFileLC() now just OpenIconFileL() because this call was often being trapped and the C caused aggro.
  2529 ) CApaApplication::OpenIconFileLC() now just OpenIconFileL() because this call was often being trapped and the C caused aggro.
  2530 
  2530 
  2531 ) Some CApaDoor methods that took a TSize as a parameter now take a const TSize& instead
  2531 ) Some CApaDoor methods that took a TSize as a parameter now take a const TSize& instead
  2532 
  2532 
  2533 Bug Fixes:
  2533 Defect Fixes:
  2534 
  2534 
  2535 ) The correct UID for the icon file is now used in CApaApplication::OpenIconFileLC()
  2535 ) The correct UID for the icon file is now used in CApaApplication::OpenIconFileLC()
  2536 
  2536 
  2537 ) CApaApplication::Dll() now const
  2537 ) CApaApplication::Dll() now const
  2538 
  2538 
  2551 
  2551 
  2552 3/11/96 by DavidW
  2552 3/11/96 by DavidW
  2553 
  2553 
  2554 Uses: E32Tools[045] ; E32[072] ; F32[038] ; Store[028] ; GDI[036] ; Fntstore[030] ; Fbserv[036] ; Bitgdi[039]
  2554 Uses: E32Tools[045] ; E32[072] ; F32[038] ; Store[028] ; GDI[036] ; Fntstore[030] ; Fbserv[036] ; Bitgdi[039]
  2555 
  2555 
  2556 1)  Fixed an infinite loop bug in CApaProcess::FindAppInListL() which
  2556 1)  Fixed an infinite loop defect in CApaProcess::FindAppInListL() which
  2557 meant that a second app couldn't be added to a process
  2557 meant that a second app couldn't be added to a process
  2558 
  2558 
  2559 
  2559 
  2560 AppArc.019
  2560 AppArc.019
  2561 ==========
  2561 ==========
  2612 	iMainDocFileName = xxx.AllocL();
  2612 	iMainDocFileName = xxx.AllocL();
  2613 to insert the line
  2613 to insert the line
  2614 	iMainDocFileName = NULL;
  2614 	iMainDocFileName = NULL;
  2615 in between the delete and the AllocL()
  2615 in between the delete and the AllocL()
  2616 
  2616 
  2617 7)  Fixed a bug pointed out by MartinD and Jezar in that the
  2617 7)  Fixed a defect pointed out by MartinD and Jezar in that the
  2618 ReadRootStreamLC() function was always opening the file in read mode
  2618 ReadRootStreamLC() function was always opening the file in read mode
  2619 only, which is fine for Direct stores but not for Permanent
  2619 only, which is fine for Direct stores but not for Permanent
  2620 ("re-writable") ones; note that some decision will need to be taken
  2620 ("re-writable") ones; note that some decision will need to be taken
  2621 shortly on how to cope with read-only data files
  2621 shortly on how to cope with read-only data files
  2622 
  2622