|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- diff -up xserver/configure.ac.vnc xserver/configure.ac
- --- xserver/configure.ac.vnc 2013-04-09 16:35:38.000000000 +0200
- +++ xserver/configure.ac 2013-04-09 18:16:31.000000000 +0200
- @@ -72,6 +72,7 @@ dnl forcing an entire recompile.x
- AC_CONFIG_HEADERS(include/version-config.h)
-
- AM_PROG_AS
- +AC_PROG_CXX
- AC_PROG_LN_S
- AC_LIBTOOL_WIN32_DLL
- AC_DISABLE_STATIC
- @@ -1573,6 +1573,10 @@ if test "x$XVFB" = xyes; then
- AC_SUBST([XVFB_SYS_LIBS])
- fi
-
- +dnl Xvnc DDX
- +AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"])
- +AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
- +AC_SUBST([XVNC_SYS_LIBS], ["$GLX_SYS_LIBS"])
-
- dnl Xnest DDX
-
- @@ -1608,6 +1612,8 @@ if test "x$XORG" = xauto; then
- fi
- AC_MSG_RESULT([$XORG])
-
- +AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
- +
- if test "x$XORG" = xyes; then
- XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
- XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
- @@ -1827,7 +1833,6 @@ if test "x$XORG" = xyes; then
- AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
- AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
- AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
- - AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
- AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
- AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
- AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
- @@ -2292,6 +2297,7 @@ hw/dmx/Makefile
- hw/dmx/man/Makefile
- hw/vfb/Makefile
- hw/vfb/man/Makefile
- +hw/vnc/Makefile
- hw/xnest/Makefile
- hw/xnest/man/Makefile
- hw/xwin/Makefile
- diff -up xserver/hw/Makefile.am.vnc xserver/hw/Makefile.am
- --- xserver/hw/Makefile.am.vnc 2013-04-09 16:36:46.000000000 +0200
- +++ xserver/hw/Makefile.am 2013-04-09 18:16:31.000000000 +0200
- @@ -33,7 +33,8 @@ SUBDIRS = \
- $(XNEST_SUBDIRS) \
- $(DMX_SUBDIRS) \
- $(KDRIVE_SUBDIRS) \
- - $(XQUARTZ_SUBDIRS)
- + $(XQUARTZ_SUBDIRS) \
- + vnc
-
- DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
-
- diff -up xserver/mi/miinitext.c.vnc xserver/mi/miinitext.c
- --- xserver/mi/miinitext.c.vnc 2013-04-09 16:37:21.000000000 +0200
- +++ xserver/mi/miinitext.c 2013-04-09 18:16:31.000000000 +0200
- @@ -112,6 +112,10 @@ SOFTWARE.
- #include "micmap.h"
- #include "globals.h"
-
- +#ifdef TIGERVNC
- +extern void vncExtensionInit(void);
- +#endif
- +
- /* The following is only a small first step towards run-time
- * configurable extensions.
- */
- @@ -238,6 +242,9 @@ EnableDisableExtensionError(const char *
-
- /* List of built-in (statically linked) extensions */
- static ExtensionModule staticExtensions[] = {
- +#ifdef TIGERVNC
- + {vncExtensionInit, "VNC-EXTENSION", NULL},
- +#endif
- {GEExtensionInit, "Generic Event Extension", &noGEExtension},
- {ShapeExtensionInit, "SHAPE", NULL},
- #ifdef MITSHM
- diff -up xserver/os/WaitFor.c.vnc xserver/os/WaitFor.c
- --- xserver/os/WaitFor.c.vnc 2013-04-10 14:51:13.000000000 +0200
- +++ xserver/os/WaitFor.c 2013-04-10 14:55:40.000000000 +0200
- @@ -124,6 +124,9 @@ static void DoTimer(OsTimerPtr timer, CA
- static void CheckAllTimers(void);
- static OsTimerPtr timers = NULL;
-
- +extern void vncWriteBlockHandler(fd_set *fds);
- +extern void vncWriteWakeupHandler(int nfds, fd_set *fds);
- +
- /*****************
- * WaitForSomething:
- * Make the server suspend until there is
- @@ -149,6 +152,7 @@ WaitForSomething(int *pClientsReady)
- INT32 timeout = 0;
- fd_set clientsReadable;
- fd_set clientsWritable;
- + fd_set socketsWritable;
- int curclient;
- int selecterr;
- static int nready;
- @@ -207,6 +211,9 @@ WaitForSomething(int *pClientsReady)
- XFD_COPYSET(&AllSockets, &LastSelectMask);
- }
-
- + FD_ZERO(&socketsWritable);
- + vncWriteBlockHandler(&socketsWritable);
- +
- BlockHandler((pointer) &wt, (pointer) &LastSelectMask);
- if (NewOutputPending)
- FlushAllOutput();
- @@ -218,10 +225,20 @@ WaitForSomething(int *pClientsReady)
- i = Select(MaxClients, &LastSelectMask, &clientsWritable, NULL, wt);
- }
- else {
- - i = Select(MaxClients, &LastSelectMask, NULL, NULL, wt);
- + if (AnyClientsWriteBlocked)
- + XFD_ORSET(&socketsWritable, &ClientsWriteBlocked, &socketsWritable);
- +
- + if (XFD_ANYSET(&socketsWritable)) {
- + i = Select (MaxClients, &LastSelectMask, &socketsWritable, NULL, wt);
- + if (AnyClientsWriteBlocked)
- + XFD_ANDSET(&clientsWritable, &socketsWritable, &ClientsWriteBlocked);
- + } else {
- + i = Select (MaxClients, &LastSelectMask, NULL, NULL, wt);
- + }
- }
- selecterr = GetErrno();
- WakeupHandler(i, (pointer) &LastSelectMask);
- + vncWriteWakeupHandler(i, &socketsWritable);
- if (i <= 0) { /* An error or timeout occurred */
- if (dispatchException)
- return 0;
|