summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2006-11-04 21:20:45 +0200
committerDaniel Stone <daniels@endtroducing.fooishbar.org>2006-11-08 15:29:15 +0200
commitc51fadc07d938f6a3edfd5620170fcb7d6486a11 (patch)
tree2bb60b76c745559fde0b81bcae34ff332a45396c
parent578899139f133746634a7bf8845e25362b5dfca2 (diff)
mieq: annotate with some more comments
-rw-r--r--mi/mieq.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/mi/mieq.c b/mi/mieq.c
index be76580ae..80915fd73 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -58,7 +58,7 @@ typedef struct _Event {
xEvent event[7];
int nevents;
ScreenPtr pScreen;
- DeviceIntPtr pDev;
+ DeviceIntPtr pDev; /* device this event _originated_ from */
} EventRec, *EventPtr;
typedef struct _EventQueue {
@@ -136,7 +136,9 @@ mieqEnqueue(DeviceIntPtr pDev, xEvent *e)
newtail = oldtail + 1;
if (newtail == QUEUE_SIZE)
newtail = 0;
- /* Toss events which come in late */
+ /* Toss events which come in late. Usually this means your server's
+ * stuck in an infinite loop somewhere, but SIGIO is still getting
+ * handled. */
if (newtail == miEventQueue.head) {
ErrorF("tossed event which came in late\n");
return;
@@ -200,6 +202,8 @@ mieqProcessInputEvents()
else
++miEventQueue.head;
+ /* If this is a core event, make sure our keymap, et al, is
+ * changed to suit. */
if (e->event[0].u.u.type == KeyPress ||
e->event[0].u.u.type == KeyRelease) {
SwitchCoreKeyboard(e->pDev);