FIX:Crash caused by n1 input access code image

JIRA:STUDIO-4942
Change-Id: I662bbd10af559ea4a3e72ea4d41a768363f60a61
This commit is contained in:
hu.wang 2023-10-25 19:19:46 +08:00 committed by Lane.Wei
parent ae9d9e644f
commit 033747d085
1 changed files with 7 additions and 3 deletions

View File

@ -8,7 +8,6 @@ namespace Slic3r { namespace GUI {
ConnectPrinterDialog::ConnectPrinterDialog(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &pos, const wxSize &size, long style) ConnectPrinterDialog::ConnectPrinterDialog(wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &pos, const wxSize &size, long style)
: DPIDialog(parent, id, _L("ConnectPrinter(LAN)"), pos, size, style) : DPIDialog(parent, id, _L("ConnectPrinter(LAN)"), pos, size, style)
{ {
init_bitmap();
SetBackgroundColour(*wxWHITE); SetBackgroundColour(*wxWHITE);
this->SetSizeHints(wxDefaultSize, wxDefaultSize); this->SetSizeHints(wxDefaultSize, wxDefaultSize);
@ -86,7 +85,7 @@ ConnectPrinterDialog::ConnectPrinterDialog(wxWindow *parent, wxWindowID id, cons
wxBoxSizer *sizer_diagram; wxBoxSizer *sizer_diagram;
sizer_diagram = new wxBoxSizer(wxHORIZONTAL); sizer_diagram = new wxBoxSizer(wxHORIZONTAL);
m_bitmap_diagram = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(340), FromDIP(190)), 0); m_bitmap_diagram = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(340), -1), 0);
m_bitmap_diagram->SetBitmap(m_diagram_img); m_bitmap_diagram->SetBitmap(m_diagram_img);
sizer_diagram->Add(m_bitmap_diagram); sizer_diagram->Add(m_bitmap_diagram);
@ -138,12 +137,17 @@ void ConnectPrinterDialog::init_bitmap()
} }
} }
m_diagram_img = m_diagram_bmp.ConvertToImage(); m_diagram_img = m_diagram_bmp.ConvertToImage();
m_diagram_img.Rescale(FromDIP(340), FromDIP(190)); auto bmp_size = m_diagram_bmp.GetSize();
float scale = (float)FromDIP(340) / (float)bmp_size.x;
m_diagram_img.Rescale(FromDIP(340), bmp_size.y * scale);
m_bitmap_diagram->SetBitmap(m_diagram_img);
Fit();
} }
void ConnectPrinterDialog::set_machine_object(MachineObject* obj) void ConnectPrinterDialog::set_machine_object(MachineObject* obj)
{ {
m_obj = obj; m_obj = obj;
init_bitmap();
} }
void ConnectPrinterDialog::on_input_enter(wxCommandEvent& evt) void ConnectPrinterDialog::on_input_enter(wxCommandEvent& evt)