Opened 3 years ago

Closed 2 years ago

#2158 closed defect (done)

Exception occurs for too many nested views. (BSOD on Win8)

Reported by: mkommend Owned by: ascheibe
Priority: medium Milestone: HeuristicLab 3.3.11
Component: MainForm.WindowsForms Version: 3.3.9
Keywords: Cc:

Description

The ViewHost shall count how many parents there are and stop displaying views after a certain level.

(Related to #2116)

Change History (9)

comment:1 Changed 3 years ago by mkommend

  • Milestone changed from HeuristicLab 3.3.10 to HeuristicLab 3.3.11

comment:2 Changed 3 years ago by ascheibe

  • Owner changed from mkommend to ascheibe
  • Status changed from new to accepted

comment:3 Changed 3 years ago by ascheibe

r11555 added error handling for view nesting problem

comment:4 Changed 3 years ago by ascheibe

Because swagner also had a problem in the optimization networks UI caused by this bug, I implemented checking for the nesting level in ItemView (not ViewHost to cover more cases). Notes:

  • To find out at which nesting level things go wrong, I played around with different UI configurations and found out that somewhere between 37 and 42 parents the layout of the views break or exceptions are thrown.
  • When a certain nesting level is reached, a control is displayed for opening the view as a new tab. There are cases where MainFormManager.MainForm.ShowContent() is not able to find the correct view while a ViewHost can. I'm not sure why this is the case, so we have to have a look at this.

comment:5 Changed 3 years ago by ascheibe

r11557 improved error handling for nested views

comment:6 Changed 3 years ago by ascheibe

The nesting level should be changed from 37 to 32 to have some space left.

comment:7 Changed 3 years ago by ascheibe

  • Owner changed from ascheibe to mkommend
  • Status changed from accepted to reviewing

r11592 changed nesting level and fixed layout of error view

comment:8 Changed 2 years ago by mkommend

  • Owner changed from mkommend to ascheibe
  • Status changed from reviewing to readytorelease

r11736:

  • Increased max nesting level slightly (from 32 to 35, so that three levels of parameters are displayed).
  • Changed access modifiers of members in NestingLevelErrorControl.

comment:9 Changed 2 years ago by ascheibe

  • Resolution set to done
  • Status changed from readytorelease to closed

r11748: merged r11555,r11557,r11592,r11736 into stable

Note: See TracTickets for help on using tickets.