← Back to team overview

kicad-developers team mailing list archive

Re: Last change about listbox layers creates flicker


jean-pierre charras - INPG wrote:
You wrote (in changelog)

* Layer names were not being set into the htoolbar listbox properly if the
BOARD was loaded via the command line as happens when kicad chain loads
pcbnew. Also, layer names were not being set if a second board was loaded that had the same number of layers as the previous board. The solution was
to comment out the listbox rebuild test in WinEDAChoiceBox*
WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )

Unfortunaltely, comment out the listbox rebuild test creates a problem under Windows. Because without this test, the listbox is rebuild when the mouse is moving, the rebuild creates a very important flicker when displaying the layer list. So the listbox must be rebuild only if necessary (at least, not for each mouse move event). This is not a calculation time problem, only a display problem for the main horizontal toolbar.

OK, more time needs to be spent on a solution and I am willing to do that.

To start, I ask the question, why is a function named ReCreateLayerBox() being called on every mouse move? Any ideas?

Obviously this is a code structuring problem.

I'll start looking for my own answer but I asked here in case it helped reduce the time expenditure.