From a9fe7cfa77ccee64d68732dc3f37d35cbfc27a65 Mon Sep 17 00:00:00 2001 From: Paulo Ricardo Zanoni Date: Thu, 11 Mar 2010 14:28:18 -0300 Subject: dix: be more verbose when we run out of opcodes If we run out of opcodes, nothing is print on the log, making the problem hard to debug. In the current Xserver, if you enable some extensions like multibuffer (+2 events) and use nvidia binary driver (+5 events) you can run out of opcode numbers. Signed-off-by: Paulo Ricardo Zanoni Reviewed-by: Peter Hutterer Reviewed-by: Julien Cristau Signed-off-by: Keith Packard --- dix/extension.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'dix') diff --git a/dix/extension.c b/dix/extension.c index fb83af148..f34866586 100644 --- a/dix/extension.c +++ b/dix/extension.c @@ -83,8 +83,11 @@ AddExtension(char *name, int NumEvents, int NumErrors, if (!MainProc || !SwappedMainProc || !MinorOpcodeProc) return((ExtensionEntry *) NULL); if ((lastEvent + NumEvents > LAST_EVENT) || - (unsigned)(lastError + NumErrors > LAST_ERROR)) + (unsigned)(lastError + NumErrors > LAST_ERROR)) { + LogMessage(X_ERROR, "Not enabling extension %s: maximum number of " + "events or errors exceeded.\n", name); return((ExtensionEntry *) NULL); + } ext = xalloc(sizeof(ExtensionEntry)); if (!ext) -- cgit v1.2.3