From 625ce3cb69c495f41d16e90579d6ab6e15f88de8 Mon Sep 17 00:00:00 2001 From: Cirilo Bernardo Date: Tue, 19 Jan 2016 10:11:09 +1100 Subject: [PATCH] Fix accidental application of filters to all cells of 3D search path GUI --- .../3d_cache/dialogs/dlg_3d_pathconfig.cpp | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.cpp b/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.cpp index b364401765..0406fcbbea 100644 --- a/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.cpp +++ b/3d-viewer/3d_cache/dialogs/dlg_3d_pathconfig.cpp @@ -69,9 +69,20 @@ DLG_3D_PATH_CONFIG::DLG_3D_PATH_CONFIG( wxWindow* aParent, S3D_FILENAME_RESOLVER while( sL != eL ) { m_Aliases->SetCellValue( nitems, 0, sL->m_alias ); - pEdAlias = (wxGridCellTextEditor*) m_Aliases->GetCellEditor( nitems, 0 ); - pEdAlias->SetValidator( m_aliasValidator ); - pEdAlias->DecRef(); + + if( 0 == nitems ) + { + m_Aliases->SetCellEditor( nitems, 0, new wxGridCellTextEditor ); + pEdAlias = (wxGridCellTextEditor*) m_Aliases->GetCellEditor( nitems, 0 ); + pEdAlias->SetValidator( m_aliasValidator ); + pEdAlias->DecRef(); + } + else + { + pEdAlias->IncRef(); + m_Aliases->SetCellEditor( nitems, 0, pEdAlias ); + } + m_Aliases->SetCellValue( nitems, 1, sL->m_pathvar ); m_Aliases->SetCellValue( nitems++, 2, sL->m_description ); @@ -135,9 +146,8 @@ void DLG_3D_PATH_CONFIG::OnAddAlias( wxCommandEvent& event ) if( m_Aliases->InsertRows( ni, 1 ) ) { wxGridCellTextEditor* pEdAlias; - pEdAlias = (wxGridCellTextEditor*) m_Aliases->GetCellEditor( ni, 0 ); - pEdAlias->SetValidator( m_aliasValidator ); - pEdAlias->DecRef(); + pEdAlias = (wxGridCellTextEditor*) m_Aliases->GetCellEditor( 0, 0 ); + m_Aliases->SetCellEditor( ni, 0, pEdAlias ); m_Aliases->SelectRow( ni, false ); m_Aliases->AutoSize(); Fit();