diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2009-01-12 20:17:48 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2009-01-12 20:17:48 +0000 |
commit | d1c05312af9d63ef874b6eab5ef7122610ec0f1f (patch) | |
tree | 8b219bdb39de36206c268fde2477f0bc12de47d4 /xserver/mi | |
parent | e2393a32cdf018951efe9ed1d2f6b8031c242185 (diff) |
Update to xserver 1.5.3 + latests commits on server-1.5-branch.
tested by stsp@, david@, form@, ckuethe@, oga@. thanks.
Diffstat (limited to 'xserver/mi')
-rw-r--r-- | xserver/mi/mieq.c | 6 | ||||
-rw-r--r-- | xserver/mi/miinitext.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/xserver/mi/mieq.c b/xserver/mi/mieq.c index aaa247d6c..803724708 100644 --- a/xserver/mi/mieq.c +++ b/xserver/mi/mieq.c @@ -145,6 +145,7 @@ mieqEnqueue(DeviceIntPtr pDev, xEvent *e) oldtail = (oldtail - 1) % QUEUE_SIZE; } else { + static int stuck = 0; newtail = (oldtail + 1) % QUEUE_SIZE; /* Toss events which come in late. Usually this means your server's * stuck in an infinite loop somewhere, but SIGIO is still getting @@ -152,8 +153,13 @@ mieqEnqueue(DeviceIntPtr pDev, xEvent *e) if (newtail == miEventQueue.head) { ErrorF("[mi] EQ overflowing. The server is probably stuck " "in an infinite loop.\n"); + if (!stuck) { + xorg_backtrace(); + stuck = 1; + } return; } + stuck = 0; miEventQueue.tail = newtail; } diff --git a/xserver/mi/miinitext.c b/xserver/mi/miinitext.c index 55faec333..4f252d41f 100644 --- a/xserver/mi/miinitext.c +++ b/xserver/mi/miinitext.c @@ -661,7 +661,8 @@ InitExtensions(argc, argv) #endif #ifdef GLXEXT - GlxPushProvider(&__glXDRISWRastProvider); + if (serverGeneration == 1) + GlxPushProvider(&__glXDRISWRastProvider); if (!noGlxExtension) GlxExtensionInit(); #endif } |