Fix Choose Symbol dialog freezes in eeschema
Scrollbars are always enabled to prevent an infinite event loop caused by alternating CreateLayout() and OnSize event handler. More details: http://trac.wxwidgets.org/ticket/18141 Fixes: lp:1767848 * https://bugs.launchpad.net/kicad/+bug/1767848
This commit is contained in:
parent
9552e02727
commit
51c7381fd5
|
@ -85,6 +85,7 @@ COMPONENT_TREE::COMPONENT_TREE( wxWindow* aParent, SYMBOL_LIB_TABLE* aSymLibTabl
|
|||
if( !aDetails )
|
||||
{
|
||||
auto html_sz = ConvertDialogToPixels( wxPoint( 80, 80 ) );
|
||||
|
||||
m_details_ctrl = new wxHtmlWindow(
|
||||
this, wxID_ANY, wxDefaultPosition, wxSize( html_sz.x, html_sz.y ),
|
||||
wxHW_SCROLLBAR_AUTO );
|
||||
|
@ -95,6 +96,7 @@ COMPONENT_TREE::COMPONENT_TREE( wxWindow* aParent, SYMBOL_LIB_TABLE* aSymLibTabl
|
|||
{
|
||||
m_details_ctrl = aDetails;
|
||||
}
|
||||
|
||||
m_details_ctrl->Bind( wxEVT_HTML_LINK_CLICKED, &COMPONENT_TREE::onDetailsLink, this );
|
||||
}
|
||||
|
||||
|
@ -120,6 +122,12 @@ COMPONENT_TREE::COMPONENT_TREE( wxWindow* aParent, SYMBOL_LIB_TABLE* aSymLibTabl
|
|||
|
||||
Layout();
|
||||
sizer->Fit( this );
|
||||
|
||||
#ifdef __WXGTK__
|
||||
// Scrollbars must be always enabled to prevent an infinite event loop
|
||||
// more details: http://trac.wxwidgets.org/ticket/18141
|
||||
m_details_ctrl->ShowScrollbars( wxSHOW_SB_ALWAYS, wxSHOW_SB_ALWAYS );
|
||||
#endif /* __WXGTK__ */
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue