AKROGIS / ThemeManager

NPS Alaska's GIS Theme Manager
2 stars 0 forks source link

Reloading a node can fail #38

Open regan-sarwas opened 3 years ago

regan-sarwas commented 3 years ago

If you reload all nodes in a category, then reload one of the nodes that were just reloaded, it will fail with a null reference exception. reloading a single node again and again works, and reloading a group over and over again works. This is not a new bug (it is present in the 10.7 release on the PDS).

The properties form calls node.UpdateTree() which calls this.OnReloadNode() which gets the EventHandler from ReloadNode At this point, you can see that the target of the event handler is a TmTreeNode, which contains the TmNode that should be used to update the TreeNode, and you can see that the TreeNode has a TreeView, Parent and other properties attesting to the fact that the TreeNode is in the TreeView. However, when you step into the method on the target, the target (a TmTreeNode) still has most of its properties, i.e Name, TmNode, however it does not have a TreeView or a Parent, indicating it was removed from the TreeView. Having no TreeView results in a null reference exception when Updating the TreeView. I cannot figure out why or how calling a method on a TreeNode should remove it from the TreeView.

The refactoring for Async in June 2021, removed all background threads, yet the problem persists.