← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Rearrange Render panel of PcbNew layer widget; add spacers

 

Le 23/02/2018 à 15:57, Jon Evans a écrit :
> If you add a call to ReFillRender() at the top of PCB_LAYER_WIDGET::SyncRenderStates() instead of my
> change, does it fix it?
> 

Yes, just adding the call fixes this issue.
Can I commit this fix?


> On Fri, Feb 23, 2018 at 9:54 AM, jp charras <jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>>
> wrote:
> 
>     Le 23/02/2018 à 14:24, Jon Evans a écrit :
>     > Hi JP, good catch, the attached fixes it for me
>     >
>     > -Jon
>     >
>     > On Fri, Feb 23, 2018 at 7:18 AM, jp charras <jp.charras@xxxxxxxxxx
>     <mailto:jp.charras@xxxxxxxxxx> <mailto:jp.charras@xxxxxxxxxx <mailto:jp.charras@xxxxxxxxxx>>>
>     > wrote:
>     >
>     >     Le 23/02/2018 à 01:04, Jon Evans a écrit :
>     >     > Here are two more quick patches addressing some of the easier changes.
>     >     > I have some other bugs to look at that seem more urgent, so I'm not going to work on the right-click
>     >     > menu or settings persistence.
>     >     >
>     >     > Thanks,
>     >     > Jon
>     >     >
>     >
>     >     Hi Jon,
>     >
>     >     There is a (minor but annoying) issue about patch:
>     >
>     >     "Only show microvia and blind/buried via settings if they are enabled"
>     >
>     >     When I load a board that have microvia and blind/buried vias allowed, the layer manager does not
>     >     show the microvia and blind/buried vias menuitems.
>     >
>     >     They are displayed only after opening and closing by OK button the Design Rules menu.
>     >
>     >     (Tested on W7/32bits)
>     >
>     >     --
>     >     Jean-Pierre CHARRAS
> 
>     With this patch, Pcbnew crashes when starting, but not always.
>     I am thinking m_Layers->ReFillRender(); is called too early, when initializations are not yet
>     finished
> 
>     In fact it is called before m_Layers is initialized.
> 
>     The fix is easy, but when loading a file, syncRenderStates(); is called
>     (files_io.cpp line 592)
> 
>     Perhaps the root issue is SyncRenderStates() is missing some initializations.
> 
> 
> 
>     --
>     Jean-Pierre CHARRAS
> 
> 


-- 
Jean-Pierre CHARRAS


Follow ups

References