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 ============== |
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 |
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 |
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 |
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). |
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 |
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 |