summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch')
-rw-r--r--sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch b/sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch
new file mode 100644
index 000000000000..b01a6b7d79f6
--- /dev/null
+++ b/sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch
@@ -0,0 +1,25 @@
+diff --git a/eeschema/dialogs/dialog_spice_model.cpp b/eeschema/dialogs/dialog_spice_model.cpp
+index b265e2363..eb1187d86 100644
+--- a/eeschema/dialogs/dialog_spice_model.cpp
++++ b/eeschema/dialogs/dialog_spice_model.cpp
+@@ -34,6 +34,7 @@
+ #include <wx/wupdlock.h>
+
+ #include <cctype>
++#include <cstring>
+
+ // Helper function to shorten conditions
+ static bool empty( const wxTextCtrl* aCtrl )
+@@ -804,9 +804,11 @@ bool DIALOG_SPICE_MODEL::addPwlValue( const wxString& aTime, const wxString& aVa
+ float timeF;
+ m_pwlTime->GetValue().ToDouble( &timeD );
+ timeF = timeD;
++ long data;
++ std::memcpy( &data, &timeF, sizeof( timeF ) );
+
+ // Store the time value, so the entries can be sorted
+- m_pwlValList->SetItemData( idx, *reinterpret_cast<long*>( &timeF ) );
++ m_pwlValList->SetItemData( idx, data );
+
+ // Sort items by timestamp
+ m_pwlValList->SortItems( comparePwlValues, -1 );