mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-05 13:29:57 -05:00
client-conf-x11: unbreak autospawn due to stale X11 properties
If the X11 property data is from the same session than the client the client may do autospawning in case the X11 property data is stale. Closes #518.
This commit is contained in:
parent
0aed5ea2e1
commit
0ac038e591
2 changed files with 22 additions and 1 deletions
|
|
@ -136,7 +136,7 @@ static void x11_kill_cb(pa_x11_wrapper *w, void *userdata) {
|
|||
int pa__init(pa_module*m) {
|
||||
struct userdata *u;
|
||||
pa_modargs *ma = NULL;
|
||||
char *mid;
|
||||
char *mid, *sid;
|
||||
char hx[PA_NATIVE_COOKIE_LENGTH*2+1];
|
||||
const char *t;
|
||||
|
||||
|
|
@ -170,6 +170,11 @@ int pa__init(pa_module*m) {
|
|||
|
||||
pa_x11_set_prop(pa_x11_wrapper_get_display(u->x11_wrapper), "PULSE_ID", u->id);
|
||||
|
||||
if ((sid = pa_session_id())) {
|
||||
pa_x11_set_prop(pa_x11_wrapper_get_display(u->x11_wrapper), "PULSE_SESSION_ID", sid);
|
||||
pa_xfree(sid);
|
||||
}
|
||||
|
||||
publish_servers(u, pa_native_protocol_servers(u->protocol));
|
||||
|
||||
if ((t = pa_modargs_get_value(ma, "source", NULL)))
|
||||
|
|
@ -219,6 +224,7 @@ void pa__done(pa_module*m) {
|
|||
pa_x11_del_prop(pa_x11_wrapper_get_display(u->x11_wrapper), "PULSE_SINK");
|
||||
pa_x11_del_prop(pa_x11_wrapper_get_display(u->x11_wrapper), "PULSE_SOURCE");
|
||||
pa_x11_del_prop(pa_x11_wrapper_get_display(u->x11_wrapper), "PULSE_COOKIE");
|
||||
pa_x11_del_prop(pa_x11_wrapper_get_display(u->x11_wrapper), "PULSE_SESSION_ID");
|
||||
XSync(pa_x11_wrapper_get_display(u->x11_wrapper), False);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue