*giowin32.c: G_IO_WIN32_WINDOWS_MESSAGES channels

not handled correctly in g_io_win32_check()
This commit is contained in:
Andy Lanoix 2001-05-22 01:10:19 +00:00
parent fbb5eebbad
commit 4cebfd6349
2 changed files with 16 additions and 2 deletions

View File

@ -511,6 +511,7 @@ g_io_win32_prepare (GSource *source,
static gboolean static gboolean
g_io_win32_check (GSource *source) g_io_win32_check (GSource *source)
{ {
MSG msg;
GIOWin32Watch *watch = (GIOWin32Watch *)source; GIOWin32Watch *watch = (GIOWin32Watch *)source;
GIOWin32Channel *channel = (GIOWin32Channel *)watch->channel; GIOWin32Channel *channel = (GIOWin32Channel *)watch->channel;
@ -521,7 +522,13 @@ g_io_win32_check (GSource *source)
watch->pollfd.events, watch->pollfd.revents, channel->revents); watch->pollfd.events, watch->pollfd.revents, channel->revents);
if (channel->type != G_IO_WIN32_WINDOWS_MESSAGES) if (channel->type != G_IO_WIN32_WINDOWS_MESSAGES)
watch->pollfd.revents = (watch->pollfd.events & channel->revents); {
watch->pollfd.revents = (watch->pollfd.events & channel->revents);
}
else
{
return (PeekMessage (&msg, channel->hwnd, 0, 0, PM_NOREMOVE));
}
if (channel->type == G_IO_WIN32_SOCKET) if (channel->type == G_IO_WIN32_SOCKET)
{ {

View File

@ -511,6 +511,7 @@ g_io_win32_prepare (GSource *source,
static gboolean static gboolean
g_io_win32_check (GSource *source) g_io_win32_check (GSource *source)
{ {
MSG msg;
GIOWin32Watch *watch = (GIOWin32Watch *)source; GIOWin32Watch *watch = (GIOWin32Watch *)source;
GIOWin32Channel *channel = (GIOWin32Channel *)watch->channel; GIOWin32Channel *channel = (GIOWin32Channel *)watch->channel;
@ -521,7 +522,13 @@ g_io_win32_check (GSource *source)
watch->pollfd.events, watch->pollfd.revents, channel->revents); watch->pollfd.events, watch->pollfd.revents, channel->revents);
if (channel->type != G_IO_WIN32_WINDOWS_MESSAGES) if (channel->type != G_IO_WIN32_WINDOWS_MESSAGES)
watch->pollfd.revents = (watch->pollfd.events & channel->revents); {
watch->pollfd.revents = (watch->pollfd.events & channel->revents);
}
else
{
return (PeekMessage (&msg, channel->hwnd, 0, 0, PM_NOREMOVE));
}
if (channel->type == G_IO_WIN32_SOCKET) if (channel->type == G_IO_WIN32_SOCKET)
{ {