Browse Source

add jack_session_event_free() and dont free it in jack_session_reply()

tags/0.120.1
Torben Hohn 15 years ago
parent
commit
86ff334195
2 changed files with 18 additions and 3 deletions
  1. +9
    -0
      jack/session.h
  2. +9
    -3
      libjack/client.c

+ 9
- 0
jack/session.h View File

@@ -26,6 +26,7 @@
extern "C" { extern "C" {
#endif #endif


#include <jack/types.h>
#include <jack/weakmacros.h> #include <jack/weakmacros.h>


/** /**
@@ -148,6 +149,14 @@ int jack_set_session_callback(jack_client_t *client,
int jack_session_reply( jack_client_t *client, jack_session_event_t *event ) JACK_WEAK_EXPORT; int jack_session_reply( jack_client_t *client, jack_session_event_t *event ) JACK_WEAK_EXPORT;




/**
* free memory used by a jack_session_event_t
* this also frees the memory used by the command_line pointer.
* if its non NULL.
*/

void jack_session_event_free (jack_session_event_t *event);

/*@}*/ /*@}*/






+ 9
- 3
libjack/client.c View File

@@ -1348,7 +1348,6 @@ jack_session_reply (jack_client_t *client, jack_session_event_t *event )
"%s", event->command_line); "%s", event->command_line);
client->control->session_flags = event->flags; client->control->session_flags = event->flags;


free (event->command_line);
} else { } else {
retval = -1; retval = -1;
} }
@@ -1363,11 +1362,18 @@ jack_session_reply (jack_client_t *client, jack_session_event_t *event )
retval = jack_client_deliver_request(client, &request); retval = jack_client_deliver_request(client, &request);
} }


return retval;
}

void
jack_session_event_free (jack_session_event_t *event)
{
if (event->command_line)
free (event->command_line);

free ((char *)event->session_dir); free ((char *)event->session_dir);
free ((char *)event->client_uuid); free ((char *)event->client_uuid);
free (event); free (event);

return retval;
} }


void void


Loading…
Cancel
Save