More developments:

After testing the script code and midiscriptengine.cpp extensively, I
found that the segfaulting problem lies not with connecting or
disconnecting signals, but with
ControlObjectThread::updateControlObject(), therefore inherited by
ControlObjectThread::slotSet() which I use alot. (Seems to be
worse when I do a slotSet(get()) to force a ControlObject signal
emission.) It also happens if I try to have ControlObject
emit(valueChanged()) from midiscriptengine.

Also, the slots don't react if connected to ControlObjectThread's
valueChanged() signal. So I still have to connect script slots to
ControlObject's signal for now.

The good news is that it segfaults less now, and I still have automatic
reactions, but they just don't update on a mode switch.

So the questions du jour are:
1) WHAT is wrong with ControlObjectThread::updateControlObject() ?!
(It's just one line, line 137: m_pControlObject->queueFromThread(get(),
this);)
2) Can we fix it?
3) And if we can't answer that, is there any other thread-safe way to do
what I'm trying to do? (Force a signal emission.)

Sean

<<--------------------------------------------------------------------------------->>
This E-Mail message has been scanned for viruses
and cleared by >>SmartMail<< from Smarter Technology, Inc.
<<--------------------------------------------------------------------------------->>

------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to