← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Fix wxGTK assert in Layer Setup dialog

 

Patch committed in product branch r5460.

Thanks,

Wayne

On 2/25/2015 10:00 PM, Blair Bonnett wrote:
> Hi all,
> 
> When I open the Design Rules -> Layer Setup dialog in PcbNew, I get an
> assert from wxWidgets:
> 
> /src/gtk/scrolwin.cpp(205): assert "scrolled" failed in
> DoShowScrollbars(): window must be created
> 
> This is using the wxGTK backend on Arch. Tracking back through the code,
> this is because a wxScrolledWindow is being created with the
> wxALWAYS_SHOW_SB flag. The DoShowScrollbars() is called by the
> constructor due to this flag, but this call is before a window exists to
> put the scrollbars in.
> 
> I'm assuming this behaviour changed in wxWidgets 2.9.5 because
> common/draw_panel.cpp has a conditionally compiled workaround.
> 
> The attached patch removes the wxALWAYS_SHOW_SB flag from the base fbp
> and cpp files, and replaces it with a call to ShowScrollbars() in the
> inherited dialog class; this now occurs after the window has been
> created. I have also removed the conditional compilation check from
> common/draw_panel.cpp since that was checking for wxWidgets >= 2.9.5.,
> and 3.0 or later is now enforced by CMake.
> 
> Using grep, I cannot find wxALWAYS_SHOW_SB being used with any other
> wxScrolledWindows; the other instances are with text or list controls
> and I haven't been able to trigger an assert from them.
> 
> Cheers,
> Blair
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 



References