Ticket #702 (closed assessed: fixed)

Opened 15 years ago

Last modified 15 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 15 years ago.

Change History

Changed 15 years ago by jeroens

comment:1 Changed 15 years ago by jeroens

  • Description modified (diff)

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.

comment:6 Changed 15 years ago by jeroens

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