summaryrefslogtreecommitdiff
path: root/gdk/win32
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2002-08-31 18:06:02 +0000
committerTor Lillqvist <tml@src.gnome.org>2002-08-31 18:06:02 +0000
commita0c80fcc67fbdf576d80536db299433cd70ca3f8 (patch)
tree1b6b19894fbb9284e3cda97070d2b91bcb2db60d /gdk/win32
parent732c20523692251af6875a34b5a0fe62a5dfc9b8 (diff)
downloadgtk+-a0c80fcc67fbdf576d80536db299433cd70ca3f8.tar.gz
On Cygwin, open /dev/windows instead of using the magic G_WIN32_MSG_HANDLE
2002-08-31 Tor Lillqvist <tml@iki.fi> * gdk/win32/gdkevents-win32.c (_gdk_events_init): On Cygwin, open /dev/windows instead of using the magic G_WIN32_MSG_HANDLE fd that is implemented (in GLib) only on native Win32. (#91683, Masahiro Sakai)
Diffstat (limited to 'gdk/win32')
-rw-r--r--gdk/win32/gdkevents-win32.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 45acf299d3..0b3bbbdeec 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -44,6 +44,11 @@
#include "gdkinput-win32.h"
#include "gdkkeysyms.h"
+#ifdef G_WITH_CYGWIN
+#include <fcntl.h>
+#include <errno.h>
+#endif
+
#include <objbase.h>
#if defined (__GNUC__) && defined (HAVE_DIMM_H)
@@ -303,7 +308,13 @@ _gdk_events_init (void)
source = g_source_new (&event_funcs, sizeof (GSource));
g_source_set_priority (source, GDK_PRIORITY_EVENTS);
+#ifdef G_WITH_CYGWIN
+ event_poll_fd.fd = open ("/dev/windows", O_RDONLY);
+ if (event_poll_fd.fd == -1)
+ g_error ("can't open \"/dev/windows\": %s", g_strerror (errno));
+#else
event_poll_fd.fd = G_WIN32_MSG_HANDLE;
+#endif
event_poll_fd.events = G_IO_IN;
g_source_add_poll (source, &event_poll_fd);