edb7e29c82a5 — Vesa Norilo 5 years ago
investigate linux crash
1 files changed, 6 insertions(+), 5 deletions(-)

M Pure-Data/pd.cpp
M Pure-Data/pd.cpp +6 -5
@@ 4,6 4,7 @@ 
 #include <unordered_map>
 #include <memory>
 #include <tuple>
+#include <forward_list>
 
 #ifndef NDEBUG
 #define CONSOLE(...) post(__VA_ARGS__)

          
@@ 51,8 52,8 @@ struct PdBytes {
 };
 
 struct Instance {
-	std::vector<Inlet> inlets;
-	std::vector<Outlet> outlets;
+	std::forward_list<Inlet> inlets;
+	std::forward_list<Outlet> outlets;
 	PdBytes kstate;
 	std::vector<float> outBuffer;
 };

          
@@ 254,13 255,13 @@ public:
 
 	void AddConnections(t_wrapper* wrap) {
 		for (int i = 1; i < signalSlots.size(); ++i) {
-			wrap->inst.inlets.emplace_back(
+			wrap->inst.inlets.emplace_front(
 				signalinlet_new(&wrap->x_obj, wrap->reserved),
 				inlet_free);
 		}
 
 		for (auto& p : parameters) {
-			wrap->inst.inlets.emplace_back(
+			wrap->inst.inlets.emplace_front(
 				inlet_new(&wrap->x_obj, &wrap->x_obj.ob_pd,
 						  p.dim > 1 ? &s_list : &s_float,
 						  p.pdsym),

          
@@ 268,7 269,7 @@ public:
 		}
 
 		for (int i = 0; i < numOutChannels; ++i) {
-			wrap->inst.outlets.emplace_back(
+			wrap->inst.outlets.emplace_front(
 				outlet_new(&wrap->x_obj, &s_signal),
 				outlet_free);
 		}