Files
ports/cad/OrcaSlicer/files/patch-src_slic3r_GUI_Field.cpp
T
2026-10-04 04:07:15 +00:00

52 lines
2.4 KiB
C++

--- src/slic3r/GUI/Field.cpp.orig 2026-03-22 17:56:38 UTC
+++ src/slic3r/GUI/Field.cpp
@@ -825,7 +825,11 @@ void TextCtrl::BUILD() {
auto temp = m_opt.multiline
? (wxWindow*)builder1.build(m_parent, wxID_ANY, "", wxDefaultPosition, size, wxTE_MULTILINE)
: builder2.build(m_parent, "", "", "", wxDefaultPosition, size, wxTE_PROCESS_ENTER);
- temp->SetLabel(_L(m_opt.sidetext));
+ // For multiline fields temp is a raw wxTextCtrl, whose SetLabel() asserts
+ // in wx 3.2+ (and the side text is unused there since m_combine_side_text is
+ // false). Only set the label on the TextInput composite.
+ if (!m_opt.multiline)
+ temp->SetLabel(_L(m_opt.sidetext));
auto text_ctrl = m_opt.multiline ? (wxTextCtrl *)temp : ((TextInput *) temp)->GetTextCtrl();
text_ctrl->SetValue(text_value);
temp->SetSize(size);
@@ -1190,7 +1194,7 @@ void SpinCtrl::BUILD() {
wxSP_ARROW_KEYS);
temp->SetSize(size);
temp->SetLabel(_L(m_opt.sidetext));
- temp->GetTextCtrl()->SetLabel(text_value);
+ temp->GetTextCtrl()->ChangeValue(text_value);
temp->SetRange(min_val, max_val);
temp->SetValue(default_value);
m_combine_side_text = true;
@@ -2043,7 +2047,7 @@ void ColourPicker::on_button_click(wxCommandEvent &eve
}
void ColourPicker::on_button_click(wxCommandEvent &event) {
-#if !defined(__linux__) && !defined(__LINUX__)
+#if !defined(__linux__) && !defined(__LINUX__) && !defined(__FreeBSD__)
if (m_clrData) {
std::vector<std::string> colors = wxGetApp().app_config->get_custom_color_from_config();
for (int i = 0; i < colors.size(); i++) {
@@ -2056,7 +2060,7 @@ void ColourPicker::convert_to_picker_widget(wxColourPi
void ColourPicker::convert_to_picker_widget(wxColourPickerCtrl *widget)
{
-#if !defined(__linux__) && !defined(__LINUX__)
+#if !defined(__linux__) && !defined(__LINUX__) && !defined(__FreeBSD__)
m_picker_widget = dynamic_cast<wxColourPickerWidget*>(widget->GetPickerCtrl());
if (m_picker_widget) {
m_picker_widget->Bind(wxEVT_BUTTON, &ColourPicker::on_button_click, this);
@@ -2066,7 +2070,7 @@ void ColourPicker::save_colors_to_config() {
}
void ColourPicker::save_colors_to_config() {
-#if !defined(__linux__) && !defined(__LINUX__)
+#if !defined(__linux__) && !defined(__LINUX__) && !defined(__FreeBSD__)
if (m_clrData) {
std::vector<std::string> colors;
if (colors.size() != CUSTOM_COLOR_COUNT) {