diff --git a/pcbnew/dialogs/dialog_footprint_chooser.cpp b/pcbnew/dialogs/dialog_footprint_chooser.cpp index 05793b3aba..7833770218 100644 --- a/pcbnew/dialogs/dialog_footprint_chooser.cpp +++ b/pcbnew/dialogs/dialog_footprint_chooser.cpp @@ -135,6 +135,20 @@ DIALOG_FOOTPRINT_CHOOSER::DIALOG_FOOTPRINT_CHOOSER( PCB_BASE_FRAME* aParent, wxCommandEventHandler( DIALOG_FOOTPRINT_CHOOSER::onFpViewReq ), nullptr, this ); + Bind( wxEVT_MOVE, + [this]( wxMoveEvent& aEvent ) + { + COMMON_SETTINGS* settings = Pgm().GetCommonSettings(); + const DPI_SCALING_COMMON dpi( settings, this ); + + if( m_preview3DCanvas->GetScaleFactor() != dpi.GetScaleFactor() ) + { + m_preview3DCanvas->SetScaleFactor( dpi.GetScaleFactor() ); + m_preview3DCanvas->ReloadRequest(); + m_preview3DCanvas->Refresh(); + } + } ); + Connect( FP_SELECTION_EVENT, wxCommandEventHandler( DIALOG_FOOTPRINT_CHOOSER::onFpChanged ), nullptr, this ); }