laptop and a wrench

漏洞

The EmbeddableControl.OpenAsync() method is called twice when a MapTool is started from the Add-in tab.

上次发布: May 6, 2021 ArcGIS Pro SDK for .NET
漏洞 ID 编号 BUG-000128026
已提交January 17, 2020
上次修改时间May 5, 2025
适用范围ArcGIS Pro SDK for .NET
找到的版本2.4.3
操作系统Windows OS
操作系统版本10.0 64 Bit
状态Will Not Be Addressed

附加信息

'Active' Tools can be activated multiple times within their lifespan. The most obvious case is when a user clicks on the tool on the ribbon. When the tool is activated, the OpenAsync method is called on its associated embeddable control (assuming it has one) along with the OnToolActivateAsync(...) method. This is probably the expected workflow for tool add-in developers. However, a tool which is '_already active_' can still be reactivated many times, even when the user does not '_explicitly_' reactivate it by clicking on the tool on the ribbon - such as when the tool is already active and a view is being initialized (eg a new map view is being opened) usually because the user has switched views. When a user switches map views (or scene views), the active map tool will be reactivated (even though it is already active) meaning the OpenAsync method is called along with the OnToolActivateAsync(...) method. Note: In the case of a new (map or scene) view being activated, if the map tool is already the active tool, the OpenAsync method is called '_twice_' in succession, once when the new view is being initialized and once when the active view changed event fires internally. This is also true of the OnToolActivateAsync(...) method. There are likely other situations where tools get reactivated and add-in developers should code the tools and associated embeddable controls accordingly.

重现步骤

漏洞 ID: BUG-000128026

软件:

  • ArcGIS Pro SDK for .NET

当漏洞状态发生变化时获得通知

下载 Esri 支持应用程序

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项