Ticket #702 (closed assessed: fixed)
Undocking and docking panels causes some controls to stop functioning
Reported by: | jeroens | Owned by: | jeroens |
---|---|---|---|
Priority: | urgent | Milestone: | Ecopath 6: release 6.0.8 |
Component: | User Interface | Version: | |
Severity: | major | Keywords: | |
Cc: |
Description (last modified by jeroens) (diff)
To reproduce:
- Open a model
- Re-dock the basic input form to the bottom half of the screen
The basic input tab is suddenly empty, although the scrollbars indicate that there is content.
This error occurs with every form that contains a grid.
Attachments
Change History
comment:2 Changed 15 years ago by jeroens
This is related to the grid being destroyed when the form re-docks. Wow....
comment:3 Changed 15 years ago by jeroens
Oh, scary! The HandleDestroyed event is thrown to controls when a dock state changes.. this could have effects on other controls as well.
Fixed the issue for standard EwEGrid instances, but we need to validate every use of OnHandleDestroyed?, woops....
comment:4 Changed 15 years ago by jeroens
- Summary changed from Dock panels with grids do not show content when panel is re-docked?! to Undocking and docking panels causes some controls to stop functioning
comment:5 Changed 15 years ago by jeroens
Ok, figured it out. Moving a dock panel to a new location will cause all underlying window handles to be destroyed and re-created, without destroying the .NET control wrappers. In EwE6, the OnHandleDestroyed? event was used to dispose controls which is not correct in this scheme. Any control that implements the OnHandleDestroyed? event to dispose of its content is thus prone to this error.