This is an automated email from the ASF dual-hosted git repository. joshtynjala pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit a474a42e7f64b5c2bef5e1f3b72809b5f2e17c4f Author: Josh Tynjala <[email protected]> AuthorDate: Wed Apr 30 13:52:19 2025 -0700 ASDoc: fix issue where classes with the same base name, but different packages, couldn't navigate between each other --- .../ASDoc/src/main/royale/models/ASDocModel.as | 37 ++++++++++++++-------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as b/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as index 828618535f..e04893d157 100644 --- a/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as +++ b/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as @@ -334,6 +334,12 @@ package models if (value != _currentPackage) { _currentPackage = value; + // if the package changes, the current class will no longer + // be displayed, so clear it. this also ensures that classes + // with the same base name, but in different packages, can + // navigate between each other because the currentClass setter + // checks only the base name changing. + currentClass = null; var packageData:Object = allPackages[value]; var arr:Array = []; for (var p:String in packageData) @@ -370,24 +376,27 @@ package models if (value != _currentClass) { _currentClass = value; + _currentClassData = null; var packageData:Object = allPackages[_currentPackage]; dispatchEvent(new Event("currentClassChanged")); - platformList = platforms.slice(); - currentPlatform = platformList.shift(); - app.service.addEventListener("ioError", classIOErrorHandler); - app.service.addEventListener("complete", classCompleteHandler); - var urlQname:String; - if (_currentPackage != "Top Level") - { - urlQname = _currentPackage + "." + _currentClass; - } - else + if (_currentClass) { - urlQname = _currentClass; + platformList = platforms.slice(); + currentPlatform = platformList.shift(); + app.service.addEventListener("ioError", classIOErrorHandler); + app.service.addEventListener("complete", classCompleteHandler); + var urlQname:String; + if (_currentPackage != "Top Level") + { + urlQname = _currentPackage + "." + _currentClass; + } + else + { + urlQname = _currentClass; + } + app.service.url = computeFileName(urlQname); + app.service.send(); } - app.service.url = computeFileName(urlQname); - app.service.send(); - _currentClassData = null; } }
