don't exit when the XSM signals us a session exit. instead just unload all X11 modules

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2512 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2008-06-11 16:58:00 +00:00
parent a180edd0a5
commit c33db3ce68
6 changed files with 196 additions and 58 deletions

View file

@ -30,6 +30,11 @@
typedef struct pa_x11_wrapper pa_x11_wrapper;
typedef struct pa_x11_client pa_x11_client;
typedef int (*pa_x11_event_cb_t)(pa_x11_wrapper *w, XEvent *e, void *userdata);
typedef void (*pa_x11_kill_cb_t)(pa_x11_wrapper *w, void *userdata);
/* Return the X11 wrapper for this core. In case no wrapper was
existant before, allocate a new one */
pa_x11_wrapper* pa_x11_wrapper_get(pa_core *c, const char *name);
@ -43,10 +48,11 @@ void pa_x11_wrapper_unref(pa_x11_wrapper* w);
/* Return the X11 display object for this connection */
Display *pa_x11_wrapper_get_display(pa_x11_wrapper *w);
typedef struct pa_x11_client pa_x11_client;
/* Kill the connection to the X11 display */
void pa_x11_wrapper_kill(pa_x11_wrapper *w);
/* Register an X11 client, that is called for each X11 event */
pa_x11_client* pa_x11_client_new(pa_x11_wrapper *w, int (*cb)(pa_x11_wrapper *w, XEvent *e, void *userdata), void *userdata);
pa_x11_client* pa_x11_client_new(pa_x11_wrapper *w, pa_x11_event_cb_t event_cb, pa_x11_kill_cb_t kill_cb, void *userdata);
/* Free an X11 client object */
void pa_x11_client_free(pa_x11_client *c);