On Monday 30 Jan 2006 21:40, Pedro Lopez-Cabanillas wrote:
> On Monday 30 January 2006 21:56, Pedro Lopez-Cabanillas wrote:
> > I guess that there should be an explicit
> > call to registerDataBlockForEvent somewere before setDataBlockForEvent()
> > in AlsaDriver.cpp:2470, right?
>
> No. First, registerDataBlockForEvent() is protected, and second: it sets
> the data block itself. I've tried to workaround the issues to only get more
> problems. Sorry, but I'm not in a position to look deeper into this issue
> now.

OK, I've committed what I think is a fix.  The superficial problem (no data 
block ID set for mapped events created at the sequencer side) turned out to 
also mask a deeper problem (separate data block ID counts at GUI and 
sequencer meant that outgoing events from the GUI overwrote the incoming 
event data blocks -- this may not have caused any actual problems because the 
incoming events were probably no longer used by then, but it's hard to be 
certain).

Anyway, I've adjusted setDataBlockForEvent so as to call 
registerDataBlockForEvent if there is no ID set (ID 0 is officially not used) 
and I've made it use random IDs instead of incrementing ones, so as to 
hopefully avoid using the same range in both processes.  We also check 
whether a datablock file already exists and avoid overwriting it (not enough 
on its own because of potential race conditions).  Together those should make 
things pretty safe.

So, please test!

One last problem: the datablock files created on the sequencer side are not 
deleted when Rosegarden exits.


Chris


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to