+static gchar *
+cspi_get_registry_ior (void)
+{
+ Atom AT_SPI_IOR;
+ Atom actual_type;
+ int actual_format;
+ unsigned char *data = NULL;
+ unsigned long nitems;
+ unsigned long leftover;
+ static Display *display = NULL;
+ if (!display)
+ display = XOpenDisplay (cspi_display_name ());
+
+ AT_SPI_IOR = XInternAtom (display, "AT_SPI_IOR", False);
+ XGetWindowProperty(display,
+ XDefaultRootWindow (display),
+ AT_SPI_IOR, 0L,
+ (long)BUFSIZ, False,
+ (Atom) 31, &actual_type, &actual_format,
+ &nitems, &leftover, &data);
+ if (data == NULL)
+ g_warning ("AT_SPI_REGISTRY was not started at session startup.");
+
+ return (gchar *) data;
+}
+