diff options
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.patch | 25 |
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 ); |