+++ /dev/null
-diff -r 47135c91cd9c src/vncdisplay.c
---- a/src/vncdisplay.c Thu Oct 09 11:23:09 2008 -0400
-+++ b/src/vncdisplay.c Wed Oct 29 14:52:36 2008 +0000
-@@ -29,6 +29,13 @@
- #ifdef HAVE_PWD_H
- #include <pwd.h>
- #endif
-+
-+#ifdef HAVE_WINSOCK2_H
-+#include <winsock2.h>
-+#endif
-+
-+static void winsock_startup (void);
-+static void winsock_cleanup (void);
-
- #define VNC_DISPLAY_GET_PRIVATE(obj) \
- (G_TYPE_INSTANCE_GET_PRIVATE((obj), VNC_TYPE_DISPLAY, VncDisplayPrivate))
-@@ -243,6 +250,7 @@
-
- GtkWidget *vnc_display_new(void)
- {
-+ winsock_startup ();
- return GTK_WIDGET(g_object_new(VNC_TYPE_DISPLAY, NULL));
- }
-
-@@ -1255,6 +1263,9 @@
- }
-
- g_object_unref(G_OBJECT(data));
-+
-+ winsock_cleanup ();
-+
- return FALSE;
- }
-
-@@ -2188,6 +2199,49 @@
- return group;
- }
-
-+#ifdef WIN32
-+
-+/* On Windows, we must call WSAStartup before using any sockets and we
-+ * must call WSACleanup afterwards. And we have to balance any calls
-+ * to WSAStartup with a corresponding call to WSACleanup.
-+ *
-+ * Note that Wine lets you do socket calls anyway, but real Windows
-+ * doesn't. (http://bugs.winehq.org/show_bug.cgi?id=11965)
-+ */
-+
-+static void
-+winsock_startup (void)
-+{
-+ WORD winsock_version, err;
-+ WSADATA winsock_data;
-+
-+ /* http://msdn2.microsoft.com/en-us/library/ms742213.aspx */
-+ winsock_version = MAKEWORD (2, 2);
-+ err = WSAStartup (winsock_version, &winsock_data);
-+ if (err != 0)
-+ GVNC_DEBUG ("ignored error %d from WSAStartup", err);
-+}
-+
-+static void
-+winsock_cleanup (void)
-+{
-+ WSACleanup ();
-+}
-+
-+#else /* !WIN32 */
-+
-+static void
-+winsock_startup (void)
-+{
-+}
-+
-+static void
-+winsock_cleanup (void)
-+{
-+}
-+
-+#endif /* !WIN32 */
-+
- /*
- * Local variables:
- * c-indent-level: 8