[PATCH] record: ifdef out RecordExtensionInit and print a warning to the log.

Peter Hutterer peter.hutterer at who-t.net
Mon Jul 27 21:58:02 PDT 2009


The RECORD extension is currently broken. By ifdef'ing out the content of
RecordExtensionInit the extension isn't added to the server's internal list
and it does not get advertised to the client. Clients can thus fail
gracefully with a "extension not supported" instead of waiting forever for
events that never arrive.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
This of course isn't as good as actually fixing it but meanwhile we could
make it easier on clients and warn the user what's happening.

 record/record.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/record/record.c b/record/record.c
index fd88552..effb926 100644
--- a/record/record.c
+++ b/record/record.c
@@ -2865,6 +2865,13 @@ RecordCloseDown(ExtensionEntry *extEntry)
 void 
 RecordExtensionInit(void)
 {
+    /* FIXME Record is currently broken. Dont initialize it so that clients
+     * that require it can bail out correctly rather than waiting for stuff
+     * that'll never happen */
+    ErrorF("record: RECORD extension enabled at configure time.\n");
+    ErrorF("record: This extension is known to be broken, disabling extension now..\n");
+    ErrorF("record: http://bugs.freedesktop.org/show_bug.cgi?id=20500\n");
+#if 0
     ExtensionEntry *extentry;
 
     RTContext = CreateNewResourceType(RecordDeleteContext);
@@ -2887,5 +2894,6 @@ RecordExtensionInit(void)
     }
     RecordErrorBase = extentry->errorBase;
 
+#endif
 } /* RecordExtensionInit */
 
-- 
1.6.3.rc1.2.g0164.dirty



More information about the xorg-devel mailing list