From c19984e4dea35a9e783e0fdd1bde21289e277d94 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Wed, 17 Oct 2018 02:03:50 +0100 Subject: [PATCH] Performance optimization for Symbol Fields Editor. --- eeschema/sch_edit_frame.cpp | 9 ++++++--- eeschema/sch_reference_list.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/eeschema/sch_edit_frame.cpp b/eeschema/sch_edit_frame.cpp index 2bad600a02..338cae5bc6 100644 --- a/eeschema/sch_edit_frame.cpp +++ b/eeschema/sch_edit_frame.cpp @@ -583,9 +583,12 @@ SCH_SHEET_PATH& SCH_EDIT_FRAME::GetCurrentSheet() void SCH_EDIT_FRAME::SetCurrentSheet( const SCH_SHEET_PATH& aSheet ) { - auto c = static_cast(m_canvas); - *m_CurrentSheet = aSheet; - c->DisplaySheet( m_CurrentSheet->LastScreen() ); + if( aSheet != *m_CurrentSheet ) + { + *m_CurrentSheet = aSheet; + + static_cast( m_canvas )->DisplaySheet( m_CurrentSheet->LastScreen() ); + } } diff --git a/eeschema/sch_reference_list.h b/eeschema/sch_reference_list.h index 3dd7c7432b..869285cd6d 100644 --- a/eeschema/sch_reference_list.h +++ b/eeschema/sch_reference_list.h @@ -97,7 +97,7 @@ public: LIB_PART* GetLibPart() const { return m_Entry; } - SCH_SHEET_PATH GetSheetPath() const { return m_SheetPath; } + const SCH_SHEET_PATH& GetSheetPath() const { return m_SheetPath; } int GetUnit() const { return m_Unit; }