Browse Source

Mixer: Don't process (dis)connection notifications from JACK while destroying chain.

tags/non-daw-v1.2.0
Jonathan Moore Liles 13 years ago
parent
commit
3084956664
2 changed files with 8 additions and 0 deletions
  1. +6
    -0
      mixer/src/Chain.C
  2. +2
    -0
      mixer/src/Chain.H

+ 6
- 0
mixer/src/Chain.C View File

@@ -86,6 +86,7 @@ extern char *instance_name;
Chain::Chain ( ) : Fl_Group( 0, 0, 100, 100, "")

{
_deleting = false;
_engine = NULL;

int X = 0;
@@ -171,6 +172,8 @@ Chain::~Chain ( )

log_destroy();

_deleting = true;

engine()->lock();

/* if we leave this up to FLTK, it will happen after we've
@@ -836,6 +839,9 @@ Chain::port_connect ( jack_port_id_t a, jack_port_id_t b, int connect, void *v )
void
Chain::port_connect ( jack_port_id_t a, jack_port_id_t b, int connect )
{
if ( _deleting )
return;

/* this is called from JACK non-RT thread... */
if ( jack_port_is_mine( engine()->jack_client(), jack_port_by_id( engine()->jack_client(), a ) ) ||


+ 2
- 0
mixer/src/Chain.H View File

@@ -54,6 +54,8 @@ class Chain : public Fl_Group, public Loggable {

Fl_Callback *_configure_outputs_callback;
void *_configure_outputs_userdata;
bool _deleting;

private:



Loading…
Cancel
Save