diff -up boinc_core_release_6_12/clientscr/screensaver_x11.cpp.jx boinc_core_release_6_12/clientscr/screensaver_x11.cpp
--- boinc_core_release_6_12/clientscr/screensaver_x11.cpp.jx 2010-07-19 16:06:49.000000000 -0400
+++ boinc_core_release_6_12/clientscr/screensaver_x11.cpp 2012-01-12 16:19:22.152079366 -0500
@@ -397,6 +397,30 @@ void *event_loop(void*)
pthread_exit(0);
}
+/* hack */
+static xcb_atom_t
+xcb_atom_get(xcb_connection_t *connection, const char *atom_name)
+{
+ if(atom_name == NULL)
+ return XCB_NONE;
+ xcb_intern_atom_reply_t *reply = xcb_intern_atom_reply(connection,
+ xcb_intern_atom(connection, 0, strlen(atom_name), atom_name),
+ NULL);
+ if(!reply)
+ return XCB_NONE;
+ xcb_atom_t atom = reply->atom;
+ free(reply);
+ return atom;
+}
+
+/* also hack */
+#ifndef WINDOW
+#define WINDOW XCB_ATOM_WINDOW
+#define WM_COMMAND XCB_ATOM_WM_COMMAND
+#define STRING XCB_ATOM_STRING
+#define WM_CLASS XCB_ATOM_WM_CLASS
+#endif
+
/// Program entry point.
int main(int argc, char *argv[])
{