[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-xorg
Subject:    Re: Broken XNextEvent()(libX11 1.1.2 - 1.1.5)
From:       "Fumihito YOSHIDA" <fumihito.yoshida () gmail ! com>
Date:       2008-09-30 10:06:34
Message-ID: 2e5d1d450809300306m4e76cf6fxbbca8f287223a5e0 () mail ! gmail ! com
[Download RAW message or body]

Hi walter,

> i am not an expenrt on xorg internal but why not add
> if (!XPending()) return; to XNextEvent(); ?

It is very smart. But it is not backward-compatible(maybe).

XNextEvent() difiniton is
|  int XNextEvent(Display *display, XEvent *event_return);
and, typicial classical loop is below.
(it from IIIMF/iiimxcf/htt_xbe/src/watchdog.c);
|    for (;;) {
|      XNextEvent(display, &ev);
|      switch (ev.type) {

In old days, XNextEvent *must* return valid(significant) XEvent value,
if we add "if (!XPending()) return;",
I think that it cause unpredictable side-effects, isn't it?

Regards,
_______________________________________________
xorg mailing list
xorg@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/xorg
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic