Repository navigation
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Base automatically changed from
phase-5-interactive-navigation-in-activex
to
phase-4-programmatic-navigation
November 4, 2026 11:05
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Register windowed OLE drop targets, queue copied file paths outside Drop, and report per-file and batch results through source events. Cancel pending work safely on close, including event reentrancy. Strengthen drop and host repaint checks and document the asynchronous contract and compatibility limits. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds file drag-and-drop to the ActiveX control in windowed hosts, including WinForms AxHost, and windowless hosts that forward OLE drops. Windowed controls register and revoke their OLE drop targets. Drop copies the paths and queues loading on the owning COM thread before returning. Loading is deferred, not moved to a worker thread, so large datasets can still block the control UI.
Supported vector files append as layers, then the control fits their combined visible extent. Invalid files do not discard successful loads. DropFileCompleted reports each path and HRESULT; DropCompleted reports loaded and failed counts plus the batch HRESULT. The C# host displays failures. Closing the control cancels pending drops safely, including closure from an event callback.
Extends native checks for windowed registration, deferred loading, rejected formats, COPY/MOVE effects, DragOver/DragLeave, partial failures, and close-time cancellation. Host checks verify cursor anchoring, use LockBits for pixel comparisons, and wait for application-idle events instead of fixed repaint delays. README and relevant docs describe the event contract and intentional 64-bit automation limits.
Validation: Debug x64 solution build without new warnings; 309 native tests passed with 3 opt-in skips; all 17 automated C# host checks passed. Actual Explorer drag-and-drop remains a manual desktop check.
Based on phase-4-programmatic-navigation with merged #43 incorporated. IMapWinGISControl4, feature-count snapshots, pan cleanup, and initial-fit behavior are inherited from that base rather than added by this drop change.