-
-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add sendToIPandPort script method for OSC Module #50
Conversation
lower camelCase 4 the win
Thanks, Also, can you rename the function "sendTo" instead ? I know I was the one to suggest sendToIPAndPort in the first place, but I will also add support for this method in the UDP module, and then there would be a function sendMessageToIPAndPort which starts to be a bit long, so for consistency, it would be good to have the same syntax style. And finally, when this is merged, the docs needs to be updated :) |
Also the method needs to be deeper implemented in the module. Currently there will be no feedback that a message has been sent, and no log as well. We should think about a way to do it using one pipe |
Modifications have been added with commit 90e376b |
ASan trace : ==7333==ERROR: AddressSanitizer: heap-use-after-free on address 0x6060002130e0 at pc 0x55f838c5c954 bp 0x7ffd4f386760 sp 0x7ffd4f386750 READ of size 8 at 0x6060002130e0 thread T0 ../servus/avahi/servus.h:339: Resolver error: Timeout reached #0 0x55f838c5c953 in juce::Array<CommandTemplate::TemplateListener*, juce::DummyCriticalSection, 0>::removeFirstMatchingValue(CommandTemplate::TemplateListener*) /home/tom/JUCE/modules/juce_core/containers/juce_Array.h:841 #1 0x55f838c5c953 in juce::ListenerList<CommandTemplate::TemplateListener, juce::Array<CommandTemplate::TemplateListener*, juce::DummyCriticalSection, 0> >::remove(CommandTemplate::TemplateListener*) /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:98 #2 0x55f838c5c953 in CommandTemplate::removeCommandTemplateListener(CommandTemplate::TemplateListener*) ../../Source/Common/Command/Template/CommandTemplate.h:63 #3 0x55f838c5c953 in BaseCommand::linkToTemplate(CommandTemplate*) ../../Source/Common/Command/BaseCommand.cpp:116 #4 0x55f838c6531a in BaseCommand::~BaseCommand() ../../Source/Common/Command/BaseCommand.cpp:34 #5 0x55f8393235c0 in MIDICommand::~MIDICommand() ../../Source/Module/modules/midi/commands/MIDICommands.cpp:21 #6 0x55f83932395e in MIDINoteAndCCCommand::~MIDINoteAndCCCommand() ../../Source/Module/modules/midi/commands/MIDICommands.cpp:83 #7 0x55f839323a48 in MIDINoteAndCCCommand::~MIDINoteAndCCCommand() ../../Source/Module/modules/midi/commands/MIDICommands.cpp:86 #8 0x55f838c7a97a in std::default_delete<BaseCommand>::operator()(BaseCommand*) const /usr/include/c++/10.1.0/bits/unique_ptr.h:84 #9 0x55f838c7a97a in std::__uniq_ptr_impl<BaseCommand, std::default_delete<BaseCommand> >::reset(BaseCommand*) /usr/include/c++/10.1.0/bits/unique_ptr.h:181 #10 0x55f838c7a97a in std::unique_ptr<BaseCommand, std::default_delete<BaseCommand> >::reset(BaseCommand*) /usr/include/c++/10.1.0/bits/unique_ptr.h:455 #11 0x55f838c7a97a in BaseCommandHandler::setCommand(CommandDefinition*) ../../Source/Common/Command/BaseCommandHandler.cpp:71 #12 0x55f838c78483 in BaseCommandHandler::commandTemplateDestroyed() ../../Source/Common/Command/BaseCommandHandler.cpp:205 #13 0x55f838c6086d in juce::ListenerList<BaseCommand::CommandListener, juce::Array<BaseCommand::CommandListener*, juce::DummyCriticalSection, 0> >::call(void (BaseCommand::CommandListener::*)())::{lambda(BaseCommand::CommandListener&)#1}::operator()(BaseCommand::CommandListener&) const /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:238 #14 0x55f838c6086d in void juce::ListenerList<BaseCommand::CommandListener, juce::Array<BaseCommand::CommandListener*, juce::DummyCriticalSection, 0> >::call<juce::ListenerList<BaseCommand::CommandListener, juce::Array<BaseCommand::CommandListener*, juce::DummyCriticalSection, 0> >::call(void (BaseCommand::CommandListener::*)())::{lambda(BaseCommand::CommandListener&)#1}>(juce::ListenerList<BaseCommand::CommandListener, juce::Array<BaseCommand::CommandListener*, juce::DummyCriticalSection, 0> >::call(void (BaseCommand::CommandListener::*)())::{lambda(BaseCommand::CommandListener&)#1}&&) /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:124 #15 0x55f838c6086d in juce::ListenerList<BaseCommand::CommandListener, juce::Array<BaseCommand::CommandListener*, juce::DummyCriticalSection, 0> >::call(void (BaseCommand::CommandListener::*)()) /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:238 #16 0x55f838c6086d in BaseCommand::inspectableDestroyed(Inspectable*) ../../Source/Common/Command/BaseCommand.cpp:330 #17 0x55f83aa8e858 in void juce::ListenerList<Inspectable::InspectableListener, juce::Array<Inspectable::InspectableListener*, juce::DummyCriticalSection, 0> >::call<Inspectable*, Inspectable*>(void (Inspectable::InspectableListener::*)(Inspectable*), Inspectable*&&) /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:266 #18 0x55f83aa8e858 in Inspectable::~Inspectable() /home/tom/JUCE/modules/juce_organicui/inspectable/Inspectable.cpp:26 #19 0x55f83a6906f7 in ControllableContainer::~ControllableContainer() /home/tom/JUCE/modules/juce_organicui/controllable/ControllableContainer.cpp:64 #20 0x55f83aa01a49 in BaseItem::~BaseItem() /home/tom/JUCE/modules/juce_organicui/controllable/ControllableContainer.h:306 #21 0x55f838c28c84 in CommandTemplate::~CommandTemplate() ../../Source/Common/Command/Template/CommandTemplate.cpp:112 #22 0x55f838c28f70 in CommandTemplate::~CommandTemplate() ../../Source/Common/Command/Template/CommandTemplate.cpp:115 #23 0x55f838c15944 in BaseManager<CommandTemplate>::removeItem(CommandTemplate*, bool, bool) (/home/tom/tmp/Chataigne/Chataigne/Builds/LinuxMakefile/build/Chataigne+0x9cc944) #24 0x55f838c441b4 in BaseManager<CommandTemplate>::RemoveItemAction::perform() /home/tom/JUCE/modules/juce_organicui/manager/BaseManager.h:1127 #25 0x55f839d50c8d in juce::UndoManager::perform(juce::UndoableAction*) /home/tom/JUCE/modules/juce_data_structures/undomanager/juce_UndoManager.cpp:124 #26 0x55f839d51c0b in juce::UndoManager::perform(juce::UndoableAction*, juce::String const&) /home/tom/JUCE/modules/juce_data_structures/undomanager/juce_UndoManager.cpp:100 #27 0x55f83aa3820b in UndoMaster::performActions(juce::String const&, juce::Array<juce::UndoableAction*, juce::DummyCriticalSection, 0>) /home/tom/JUCE/modules/juce_organicui/undo/UndoMaster.cpp:37 #28 0x55f838c15612 in BaseManager<CommandTemplate>::removeItem(CommandTemplate*, bool, bool) (/home/tom/tmp/Chataigne/Chataigne/Builds/LinuxMakefile/build/Chataigne+0x9cc612) #29 0x55f838c40344 in BaseManager<CommandTemplate>::askForRemoveBaseItem(BaseItem*) /home/tom/JUCE/modules/juce_organicui/manager/BaseManager.h:648 #30 0x55f83aa524a1 in void juce::ListenerList<BaseItemListener, juce::Array<BaseItemListener*, juce::DummyCriticalSection, 0> >::call<BaseItem*, BaseItem*>(void (BaseItemListener::*)(BaseItem*), BaseItem*&&) /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:266 #31 0x55f83aa524a1 in BaseItem::remove() /home/tom/JUCE/modules/juce_organicui/manager/BaseItem.cpp:121 #32 0x55f83aacb45f in BaseItemEditor::buttonClicked(juce::Button*) /home/tom/JUCE/modules/juce_organicui/manager/ui/BaseItemEditor.cpp:99 #33 0x55f83a1927a5 in operator() /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:401 #34 0x55f83a1927a5 in callChecked<juce::Button::sendClickMessage(const juce::ModifierKeys&)::<lambda(juce::Button::Listener&)>, juce::Component::BailOutChecker> /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:153 #35 0x55f83a1927a5 in juce::Button::sendClickMessage(juce::ModifierKeys const&) /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:401 #36 0x55f83a219475 in juce::Button::internalClickCallback(juce::ModifierKeys const&) /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:350 #37 0x55f83a28fbce in juce::Button::mouseUp(juce::MouseEvent const&) /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:470 #38 0x55f83a285da1 in juce::Component::internalMouseUp(juce::MouseInputSource, juce::Point<float>, juce::Time, juce::ModifierKeys, float, float, float, float, float) /home/tom/JUCE/modules/juce_gui_basics/components/juce_Component.cpp:2444 #39 0x55f83a489438 in juce::MouseInputSourceInternal::sendMouseUp(juce::Component&, juce::Point<float>, juce::Time, juce::ModifierKeys) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:154 #40 0x55f83a489438 in juce::MouseInputSourceInternal::setButtons(juce::Point<float>, juce::Time, juce::ModifierKeys) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:196 #41 0x55f83a2f5f0a in juce::MouseInputSourceInternal::handleEvent(juce::ComponentPeer&, juce::Point<float>, juce::Time, juce::ModifierKeys, float, float, juce::PenDetails) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:333 #42 0x55f83a2f5f0a in juce::MouseInputSource::handleEvent(juce::ComponentPeer&, juce::Point<float>, long long, juce::ModifierKeys, float, float, juce::PenDetails const&) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:633 #43 0x55f83a2f6363 in juce::ComponentPeer::handleMouseEvent(juce::MouseInputSource::InputSourceType, juce::Point<float>, juce::ModifierKeys, float, float, long long, juce::PenDetails, int) /home/tom/JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.cpp:87 #44 0x55f83a2ff420 in juce::XWindowSystem::handleButtonReleaseEvent(juce::LinuxComponentPeer<unsigned long>*, XButtonEvent const&) const /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:3105 #45 0x55f83a301bb6 in juce::XWindowSystem::handleWindowMessage(juce::LinuxComponentPeer<unsigned long>*, _XEvent&) const /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:2839 #46 0x55f83a3024c8 in windowMessageReceive /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:3359 #47 0x55f83a139cfb in operator() /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:2768 #48 0x55f83a139cfb in __invoke_impl<void, juce::XWindowSystem::initialiseXDisplay()::<lambda(int)>&, int> /usr/include/c++/10.1.0/bits/invoke.h:60 #49 0x55f83a139cfb in __invoke_r<void, juce::XWindowSystem::initialiseXDisplay()::<lambda(int)>&, int> /usr/include/c++/10.1.0/bits/invoke.h:110 #50 0x55f83a139cfb in _M_invoke /usr/include/c++/10.1.0/bits/std_function.h:291 #51 0x55f839e6f4e4 in std::function<void (int)>::operator()(int) const /usr/include/c++/10.1.0/bits/std_function.h:622 #52 0x55f839e6f4e4 in juce::InternalRunLoop::dispatchPendingEvents() /home/tom/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:186 #53 0x55f839e62b43 in juce::MessageManager::dispatchNextMessageOnSystemQueue(bool) /home/tom/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:300 #54 0x55f839e62e0f in juce::MessageManager::runDispatchLoop() /home/tom/JUCE/modules/juce_events/messages/juce_MessageManager.cpp:128 #55 0x55f839e63694 in juce::JUCEApplicationBase::main() /home/tom/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:262 #56 0x55f839e637ea in juce::JUCEApplicationBase::main(int, char const**) /home/tom/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:240 #57 0x55f83984589b in main ../../Source/Main.h:35 #58 0x7f16c2374001 in __libc_start_main (/usr/lib/libc.so.6+0x27001) #59 0x55f838b9370d in _start (/home/tom/tmp/Chataigne/Chataigne/Builds/LinuxMakefile/build/Chataigne+0x94a70d) 0x6060002130e0 is located 0 bytes inside of 64-byte region [0x6060002130e0,0x606000213120) freed by thread T0 here: #0 0x7f16c34100e9 in __interceptor_free /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:123 #1 0x55f838c28b55 in juce::HeapBlock<CommandTemplate::TemplateListener*, false>::~HeapBlock() /home/tom/JUCE/modules/juce_core/memory/juce_HeapBlock.h:136 #2 0x55f838c28b55 in juce::ArrayBase<CommandTemplate::TemplateListener*, juce::DummyCriticalSection>::~ArrayBase() /home/tom/JUCE/modules/juce_core/containers/juce_ArrayBase.h:56 #3 0x55f838c28b55 in juce::Array<CommandTemplate::TemplateListener*, juce::DummyCriticalSection, 0>::~Array() /home/tom/JUCE/modules/juce_core/containers/juce_Array.h:132 #4 0x55f838c28b55 in juce::ListenerList<CommandTemplate::TemplateListener, juce::Array<CommandTemplate::TemplateListener*, juce::DummyCriticalSection, 0> >::~ListenerList() /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:76 #5 0x55f838c28b55 in CommandTemplate::~CommandTemplate() ../../Source/Common/Command/Template/CommandTemplate.cpp:112 #6 0x55f838c28f70 in CommandTemplate::~CommandTemplate() ../../Source/Common/Command/Template/CommandTemplate.cpp:115 #7 0x55f838c15944 in BaseManager<CommandTemplate>::removeItem(CommandTemplate*, bool, bool) (/home/tom/tmp/Chataigne/Chataigne/Builds/LinuxMakefile/build/Chataigne+0x9cc944) #8 0x55f838c441b4 in BaseManager<CommandTemplate>::RemoveItemAction::perform() /home/tom/JUCE/modules/juce_organicui/manager/BaseManager.h:1127 #9 0x55f839d50c8d in juce::UndoManager::perform(juce::UndoableAction*) /home/tom/JUCE/modules/juce_data_structures/undomanager/juce_UndoManager.cpp:124 #10 0x55f839d51c0b in juce::UndoManager::perform(juce::UndoableAction*, juce::String const&) /home/tom/JUCE/modules/juce_data_structures/undomanager/juce_UndoManager.cpp:100 #11 0x55f83aa3820b in UndoMaster::performActions(juce::String const&, juce::Array<juce::UndoableAction*, juce::DummyCriticalSection, 0>) /home/tom/JUCE/modules/juce_organicui/undo/UndoMaster.cpp:37 #12 0x55f838c15612 in BaseManager<CommandTemplate>::removeItem(CommandTemplate*, bool, bool) (/home/tom/tmp/Chataigne/Chataigne/Builds/LinuxMakefile/build/Chataigne+0x9cc612) #13 0x55f838c40344 in BaseManager<CommandTemplate>::askForRemoveBaseItem(BaseItem*) /home/tom/JUCE/modules/juce_organicui/manager/BaseManager.h:648 #14 0x55f83aa524a1 in void juce::ListenerList<BaseItemListener, juce::Array<BaseItemListener*, juce::DummyCriticalSection, 0> >::call<BaseItem*, BaseItem*>(void (BaseItemListener::*)(BaseItem*), BaseItem*&&) /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:266 #15 0x55f83aa524a1 in BaseItem::remove() /home/tom/JUCE/modules/juce_organicui/manager/BaseItem.cpp:121 #16 0x55f83aacb45f in BaseItemEditor::buttonClicked(juce::Button*) /home/tom/JUCE/modules/juce_organicui/manager/ui/BaseItemEditor.cpp:99 #17 0x55f83a1927a5 in operator() /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:401 #18 0x55f83a1927a5 in callChecked<juce::Button::sendClickMessage(const juce::ModifierKeys&)::<lambda(juce::Button::Listener&)>, juce::Component::BailOutChecker> /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:153 #19 0x55f83a1927a5 in juce::Button::sendClickMessage(juce::ModifierKeys const&) /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:401 #20 0x55f83a219475 in juce::Button::internalClickCallback(juce::ModifierKeys const&) /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:350 #21 0x55f83a28fbce in juce::Button::mouseUp(juce::MouseEvent const&) /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:470 #22 0x55f83a285da1 in juce::Component::internalMouseUp(juce::MouseInputSource, juce::Point<float>, juce::Time, juce::ModifierKeys, float, float, float, float, float) /home/tom/JUCE/modules/juce_gui_basics/components/juce_Component.cpp:2444 #23 0x55f83a489438 in juce::MouseInputSourceInternal::sendMouseUp(juce::Component&, juce::Point<float>, juce::Time, juce::ModifierKeys) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:154 #24 0x55f83a489438 in juce::MouseInputSourceInternal::setButtons(juce::Point<float>, juce::Time, juce::ModifierKeys) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:196 #25 0x55f83a2f5f0a in juce::MouseInputSourceInternal::handleEvent(juce::ComponentPeer&, juce::Point<float>, juce::Time, juce::ModifierKeys, float, float, juce::PenDetails) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:333 #26 0x55f83a2f5f0a in juce::MouseInputSource::handleEvent(juce::ComponentPeer&, juce::Point<float>, long long, juce::ModifierKeys, float, float, juce::PenDetails const&) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:633 #27 0x55f83a2f6363 in juce::ComponentPeer::handleMouseEvent(juce::MouseInputSource::InputSourceType, juce::Point<float>, juce::ModifierKeys, float, float, long long, juce::PenDetails, int) /home/tom/JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.cpp:87 #28 0x55f83a2ff420 in juce::XWindowSystem::handleButtonReleaseEvent(juce::LinuxComponentPeer<unsigned long>*, XButtonEvent const&) const /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:3105 #29 0x55f83a301bb6 in juce::XWindowSystem::handleWindowMessage(juce::LinuxComponentPeer<unsigned long>*, _XEvent&) const /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:2839 #30 0x55f83a3024c8 in windowMessageReceive /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:3359 #31 0x55f83a139cfb in operator() /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:2768 #32 0x55f83a139cfb in __invoke_impl<void, juce::XWindowSystem::initialiseXDisplay()::<lambda(int)>&, int> /usr/include/c++/10.1.0/bits/invoke.h:60 #33 0x55f83a139cfb in __invoke_r<void, juce::XWindowSystem::initialiseXDisplay()::<lambda(int)>&, int> /usr/include/c++/10.1.0/bits/invoke.h:110 #34 0x55f83a139cfb in _M_invoke /usr/include/c++/10.1.0/bits/std_function.h:291 #35 0x55f839e6f4e4 in std::function<void (int)>::operator()(int) const /usr/include/c++/10.1.0/bits/std_function.h:622 #36 0x55f839e6f4e4 in juce::InternalRunLoop::dispatchPendingEvents() /home/tom/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:186 #37 0x55f839e62b43 in juce::MessageManager::dispatchNextMessageOnSystemQueue(bool) /home/tom/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:300 #38 0x55f839e62e0f in juce::MessageManager::runDispatchLoop() /home/tom/JUCE/modules/juce_events/messages/juce_MessageManager.cpp:128 #39 0x55f839e63694 in juce::JUCEApplicationBase::main() /home/tom/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:262 #40 0x55f839e637ea in juce::JUCEApplicationBase::main(int, char const**) /home/tom/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:240 #41 0x55f83984589b in main ../../Source/Main.h:35 #42 0x7f16c2374001 in __libc_start_main (/usr/lib/libc.so.6+0x27001)
ASan trace : ==8825==ERROR: AddressSanitizer: heap-use-after-free on address 0x6060001e04a0 at pc 0x557dffa736be bp 0x7fff7fc5b510 sp 0x7fff7fc5b500 READ of size 8 at 0x6060001e04a0 thread T0 #0 0x557dffa736bd in juce::Array<Module::ModuleListener*, juce::DummyCriticalSection, 0>::removeFirstMatchingValue(Module::ModuleListener*) /home/tom/JUCE/modules/juce_core/containers/juce_Array.h:841 #1 0x557dffa736bd in juce::ListenerList<Module::ModuleListener, juce::Array<Module::ModuleListener*, juce::DummyCriticalSection, 0> >::remove(Module::ModuleListener*) /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:98 #2 0x557dffa736bd in Module::removeModuleListener(Module::ModuleListener*) ../../Source/Module/ui/../Module.h:151 #3 0x557dffa736bd in ModuleEditor::~ModuleEditor() ../../Source/Module/ui/ModuleEditor.cpp:31 #4 0x557dffa73b32 in ModuleEditor::~ModuleEditor() ../../Source/Module/ui/ModuleEditor.cpp:32 #5 0x557e00f0ed31 in std::default_delete<InspectableEditor>::operator()(InspectableEditor*) const /usr/include/c++/10.1.0/bits/unique_ptr.h:84 #6 0x557e00f0ed31 in std::__uniq_ptr_impl<InspectableEditor, std::default_delete<InspectableEditor> >::reset(InspectableEditor*) /usr/include/c++/10.1.0/bits/unique_ptr.h:181 #7 0x557e00f0ed31 in std::unique_ptr<InspectableEditor, std::default_delete<InspectableEditor> >::reset(InspectableEditor*) /usr/include/c++/10.1.0/bits/unique_ptr.h:455 #8 0x557e00f0ed31 in std::unique_ptr<InspectableEditor, std::default_delete<InspectableEditor> >::operator=(decltype(nullptr)) /usr/include/c++/10.1.0/bits/unique_ptr.h:396 #9 0x557e00f0ed31 in Inspector::setCurrentInspectable(juce::WeakReference<Inspectable, juce::ReferenceCountedObject>, bool) /home/tom/JUCE/modules/juce_organicui/inspectable/ui/Inspector.cpp:97 #10 0x557e00f0f8ef in Inspector::inspectableDestroyed(Inspectable*) /home/tom/JUCE/modules/juce_organicui/inspectable/ui/Inspector.cpp:123 #11 0x557e00f32950 in void juce::ListenerList<Inspectable::InspectableListener, juce::Array<Inspectable::InspectableListener*, juce::DummyCriticalSection, 0> >::call<Inspectable*, Inspectable*>(void (Inspectable::InspectableListener::*)(Inspectable*), Inspectable*&&) /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:266 #12 0x557e00f32950 in Inspectable::~Inspectable() /home/tom/JUCE/modules/juce_organicui/inspectable/Inspectable.cpp:26 #13 0x557e00b347ef in ControllableContainer::~ControllableContainer() /home/tom/JUCE/modules/juce_organicui/controllable/ControllableContainer.cpp:64 #14 0x557e00ea5b41 in BaseItem::~BaseItem() /home/tom/JUCE/modules/juce_organicui/controllable/ControllableContainer.h:306 #15 0x557dffabcc9c in Module::~Module() ../../Source/Module/Module.cpp:76 #16 0x557dff8ea38b in OSCModule::~OSCModule() ../../Source/Module/modules/osc/OSCModule.cpp:94 #17 0x557dff85fdb0 in CustomOSCModule::~CustomOSCModule() ../../Source/Module/modules/osc/custom/CustomOSCModule.h:20 #18 0x557dff85fdb0 in CustomOSCModule::~CustomOSCModule() ../../Source/Module/modules/osc/custom/CustomOSCModule.h:20 #19 0x557dffa93f3e in BaseManager<Module>::removeItem(Module*, bool, bool) /home/tom/JUCE/modules/juce_organicui/manager/BaseManager.h:582 #20 0x557dffafe530 in BaseManager<Module>::RemoveItemAction::perform() /home/tom/JUCE/modules/juce_organicui/manager/BaseManager.h:1127 #21 0x557e001f4d85 in juce::UndoManager::perform(juce::UndoableAction*) /home/tom/JUCE/modules/juce_data_structures/undomanager/juce_UndoManager.cpp:124 #22 0x557e001f5d03 in juce::UndoManager::perform(juce::UndoableAction*, juce::String const&) /home/tom/JUCE/modules/juce_data_structures/undomanager/juce_UndoManager.cpp:100 #23 0x557e00edc303 in UndoMaster::performActions(juce::String const&, juce::Array<juce::UndoableAction*, juce::DummyCriticalSection, 0>) /home/tom/JUCE/modules/juce_organicui/undo/UndoMaster.cpp:37 #24 0x557dffa93c0c in BaseManager<Module>::removeItem(Module*, bool, bool) /home/tom/JUCE/modules/juce_organicui/manager/BaseManager.h:559 #25 0x557dffafaadc in BaseManager<Module>::askForRemoveBaseItem(BaseItem*) /home/tom/JUCE/modules/juce_organicui/manager/BaseManager.h:648 #26 0x557e00ef6599 in void juce::ListenerList<BaseItemListener, juce::Array<BaseItemListener*, juce::DummyCriticalSection, 0> >::call<BaseItem*, BaseItem*>(void (BaseItemListener::*)(BaseItem*), BaseItem*&&) /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:266 #27 0x557e00ef6599 in BaseItem::remove() /home/tom/JUCE/modules/juce_organicui/manager/BaseItem.cpp:121 #28 0x557dff5dbb3f in BaseItemUI<Module>::buttonClicked(juce::Button*) /home/tom/JUCE/modules/juce_organicui/manager/ui/BaseItemUI.h:363 #29 0x557e0063689d in operator() /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:401 #30 0x557e0063689d in callChecked<juce::Button::sendClickMessage(const juce::ModifierKeys&)::<lambda(juce::Button::Listener&)>, juce::Component::BailOutChecker> /home/tom/JUCE/modules/juce_core/containers/juce_ListenerList.h:153 #31 0x557e0063689d in juce::Button::sendClickMessage(juce::ModifierKeys const&) /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:401 #32 0x557e006bd56d in juce::Button::internalClickCallback(juce::ModifierKeys const&) /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:350 #33 0x557e00733cc6 in juce::Button::mouseUp(juce::MouseEvent const&) /home/tom/JUCE/modules/juce_gui_basics/buttons/juce_Button.cpp:470 #34 0x557e00729e99 in juce::Component::internalMouseUp(juce::MouseInputSource, juce::Point<float>, juce::Time, juce::ModifierKeys, float, float, float, float, float) /home/tom/JUCE/modules/juce_gui_basics/components/juce_Component.cpp:2444 #35 0x557e0092d530 in juce::MouseInputSourceInternal::sendMouseUp(juce::Component&, juce::Point<float>, juce::Time, juce::ModifierKeys) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:154 #36 0x557e0092d530 in juce::MouseInputSourceInternal::setButtons(juce::Point<float>, juce::Time, juce::ModifierKeys) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:196 #37 0x557e0079a002 in juce::MouseInputSourceInternal::handleEvent(juce::ComponentPeer&, juce::Point<float>, juce::Time, juce::ModifierKeys, float, float, juce::PenDetails) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:333 #38 0x557e0079a002 in juce::MouseInputSource::handleEvent(juce::ComponentPeer&, juce::Point<float>, long long, juce::ModifierKeys, float, float, juce::PenDetails const&) /home/tom/JUCE/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:633 #39 0x557e0079a45b in juce::ComponentPeer::handleMouseEvent(juce::MouseInputSource::InputSourceType, juce::Point<float>, juce::ModifierKeys, float, float, long long, juce::PenDetails, int) /home/tom/JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.cpp:87 #40 0x557e007a3518 in juce::XWindowSystem::handleButtonReleaseEvent(juce::LinuxComponentPeer<unsigned long>*, XButtonEvent const&) const /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:3105 #41 0x557e007a5cae in juce::XWindowSystem::handleWindowMessage(juce::LinuxComponentPeer<unsigned long>*, _XEvent&) const /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:2839 #42 0x557e007a65c0 in windowMessageReceive /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:3359 #43 0x557e005dddf3 in operator() /home/tom/JUCE/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp:2768 #44 0x557e005dddf3 in __invoke_impl<void, juce::XWindowSystem::initialiseXDisplay()::<lambda(int)>&, int> /usr/include/c++/10.1.0/bits/invoke.h:60 #45 0x557e005dddf3 in __invoke_r<void, juce::XWindowSystem::initialiseXDisplay()::<lambda(int)>&, int> /usr/include/c++/10.1.0/bits/invoke.h:110 #46 0x557e005dddf3 in _M_invoke /usr/include/c++/10.1.0/bits/std_function.h:291 #47 0x557e003135dc in std::function<void (int)>::operator()(int) const /usr/include/c++/10.1.0/bits/std_function.h:622 #48 0x557e003135dc in juce::InternalRunLoop::dispatchPendingEvents() /home/tom/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:186 #49 0x557e00306c3b in juce::MessageManager::dispatchNextMessageOnSystemQueue(bool) /home/tom/JUCE/modules/juce_events/native/juce_linux_Messaging.cpp:300 #50 0x557e00306f07 in juce::MessageManager::runDispatchLoop() /home/tom/JUCE/modules/juce_events/messages/juce_MessageManager.cpp:128 #51 0x557e0030778c in juce::JUCEApplicationBase::main() /home/tom/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:262 #52 0x557e003078e2 in juce::JUCEApplicationBase::main(int, char const**) /home/tom/JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:240 #53 0x557dffce9993 in main ../../Source/Main.h:35 #54 0x7f4e50900001 in __libc_start_main (/usr/lib/libc.so.6+0x27001) #55 0x557dff03770d in _start (/home/tom/tmp/Chataigne/Chataigne/Builds/LinuxMakefile/build/Chataigne+0x94a70d)
No description provided.