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 <[email protected]> --- 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 _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
