Ticket #702 (closed assessed: fixed)

Opened 9 years ago

Last modified 9 years ago

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

EwE6_bug_emptygridpanel.JPG (79.3 KB) - added by jeroens 9 years ago.

Change History

Changed 9 years ago by jeroens

comment:1 Changed 9 years ago by jeroens

  • Description modified (diff)

comment:2 Changed 9 years ago by jeroens

This is related to the grid being destroyed when the form re-docks. Wow....

comment:3 Changed 9 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 9 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 9 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.

comment:6 Changed 9 years ago by jeroens

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.