Browse Source

NSM: Don't allow 'added' clients to replace stopped clients.

tags/non-daw-v1.2.0
Jonathan Moore Liles 13 years ago
parent
commit
ae5879a20e
1 changed files with 6 additions and 3 deletions
  1. +6
    -3
      session-manager/src/nsmd.C

+ 6
- 3
session-manager/src/nsmd.C View File

@@ -82,7 +82,8 @@ enum {
COMMAND_QUIT, COMMAND_QUIT,
COMMAND_KILL, COMMAND_KILL,
COMMAND_SAVE, COMMAND_SAVE,
COMMAND_OPEN
COMMAND_OPEN,
COMMAND_START
}; };


struct Client struct Client
@@ -568,6 +569,7 @@ launch ( const char *executable, const char *client_id )
} }
} }


c->pending_command( COMMAND_START );
c->pid = pid; c->pid = pid;


MESSAGE( "Process has pid: %i", pid ); MESSAGE( "Process has pid: %i", pid );
@@ -743,8 +745,9 @@ OSC_HANDLER( announce )
i != client.end(); i != client.end();
++i ) ++i )
{ {
if ( ! strcmp( (*i)->executable_path, executable_path )
&& ! (*i)->active )
if ( ! strcmp( (*i)->executable_path, executable_path ) &&
! (*i)->active &&
(*i)->pending_command() == COMMAND_START )
{ {
// I think we've found the slot we were looking for. // I think we've found the slot we were looking for.
MESSAGE( "Client was expected." ); MESSAGE( "Client was expected." );


Loading…
Cancel
Save