]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/x11wrap.c
win32: Implement pa_random
[pulseaudio] / src / pulsecore / x11wrap.c
index 00b6a157c3487bdb045dd7d8cb502934dd74ed5a..454507ae50b9e0aed1cb24277d7461f2ffb09cc4 100644 (file)
@@ -5,7 +5,7 @@
 
   PulseAudio is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as published
 
   PulseAudio is free software; you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as published
-  by the Free Software Foundation; either version 2 of the License,
+  by the Free Software Foundation; either version 2.1 of the License,
   or (at your option) any later version.
 
   PulseAudio is distributed in the hope that it will be useful, but
   or (at your option) any later version.
 
   PulseAudio is distributed in the hope that it will be useful, but
@@ -29,7 +29,7 @@
 
 #include <pulsecore/llist.h>
 #include <pulsecore/log.h>
 
 #include <pulsecore/llist.h>
 #include <pulsecore/log.h>
-#include <pulsecore/props.h>
+#include <pulsecore/shared.h>
 #include <pulsecore/core-util.h>
 #include <pulsecore/macro.h>
 
 #include <pulsecore/core-util.h>
 #include <pulsecore/macro.h>
 
@@ -91,7 +91,7 @@ static void work(pa_x11_wrapper *w) {
 }
 
 /* IO notification event for the X11 display connection */
 }
 
 /* IO notification event for the X11 display connection */
-static void display_io_event(pa_mainloop_api *m, pa_io_event *e, int fd, PA_GCC_UNUSED pa_io_event_flags_t f, void *userdata) {
+static void display_io_event(pa_mainloop_api *m, pa_io_event *e, int fd, pa_io_event_flags_t f, void *userdata) {
     pa_x11_wrapper *w = userdata;
 
     pa_assert(m);
     pa_x11_wrapper *w = userdata;
 
     pa_assert(m);
@@ -118,7 +118,7 @@ static void defer_event(pa_mainloop_api *m, pa_defer_event *e, void *userdata) {
 }
 
 /* IO notification event for X11 internal connections */
 }
 
 /* IO notification event for X11 internal connections */
-static void internal_io_event(pa_mainloop_api *m, pa_io_event *e, int fd, PA_GCC_UNUSED pa_io_event_flags_t f, void *userdata) {
+static void internal_io_event(pa_mainloop_api *m, pa_io_event *e, int fd, pa_io_event_flags_t f, void *userdata) {
     pa_x11_wrapper *w = userdata;
 
     pa_assert(m);
     pa_x11_wrapper *w = userdata;
 
     pa_assert(m);
@@ -192,7 +192,7 @@ static pa_x11_wrapper* x11_wrapper_new(pa_core *c, const char *name, const char
 
     XAddConnectionWatch(d, x11_watch, (XPointer) w);
 
 
     XAddConnectionWatch(d, x11_watch, (XPointer) w);
 
-    pa_assert_se(pa_property_set(c, w->property_name, w) >= 0);
+    pa_assert_se(pa_shared_set(c, w->property_name, w) >= 0);
 
     return w;
 }
 
     return w;
 }
@@ -200,7 +200,7 @@ static pa_x11_wrapper* x11_wrapper_new(pa_core *c, const char *name, const char
 static void x11_wrapper_free(pa_x11_wrapper*w) {
     pa_assert(w);
 
 static void x11_wrapper_free(pa_x11_wrapper*w) {
     pa_assert(w);
 
-    pa_assert_se(pa_property_remove(w->core, w->property_name) >= 0);
+    pa_assert_se(pa_shared_remove(w->core, w->property_name) >= 0);
 
     pa_assert(!w->clients);
 
 
     pa_assert(!w->clients);
 
@@ -223,8 +223,9 @@ pa_x11_wrapper* pa_x11_wrapper_get(pa_core *c, const char *name) {
 
     pa_core_assert_ref(c);
 
 
     pa_core_assert_ref(c);
 
-    pa_snprintf(t, sizeof(t), "x11-wrapper%s%s", name ? "-" : "", name ? name : "");
-    if ((w = pa_property_get(c, t)))
+    pa_snprintf(t, sizeof(t), "x11-wrapper%s%s", name ? "@" : "", name ? name : "");
+
+    if ((w = pa_shared_get(c, t)))
         return pa_x11_wrapper_ref(w);
 
     return x11_wrapper_new(c, name, t);
         return pa_x11_wrapper_ref(w);
 
     return x11_wrapper_new(c, name, t);
@@ -242,8 +243,10 @@ void pa_x11_wrapper_unref(pa_x11_wrapper* w) {
     pa_assert(w);
     pa_assert(PA_REFCNT_VALUE(w) >= 1);
 
     pa_assert(w);
     pa_assert(PA_REFCNT_VALUE(w) >= 1);
 
-    if (PA_REFCNT_DEC(w) <= 0)
-        x11_wrapper_free(w);
+    if (PA_REFCNT_DEC(w) > 0)
+        return;
+
+    x11_wrapper_free(w);
 }
 
 Display *pa_x11_wrapper_get_display(pa_x11_wrapper *w) {
 }
 
 Display *pa_x11_wrapper_get_display(pa_x11_wrapper *w) {
@@ -256,6 +259,10 @@ Display *pa_x11_wrapper_get_display(pa_x11_wrapper *w) {
     return w->display;
 }
 
     return w->display;
 }
 
+xcb_connection_t *pa_x11_wrapper_get_xcb_connection(pa_x11_wrapper *w) {
+    return XGetXCBConnection(pa_x11_wrapper_get_display(w));
+}
+
 void pa_x11_wrapper_kill(pa_x11_wrapper *w) {
     pa_x11_client *c, *n;
 
 void pa_x11_wrapper_kill(pa_x11_wrapper *w) {
     pa_x11_client *c, *n;