Activate the DPMS extension; avoid Ubuntu 11.10 crashing. 



git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4745 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/BUILDING.txt b/BUILDING.txt
index 000482d..044e7c4 100644
--- a/BUILDING.txt
+++ b/BUILDING.txt
@@ -160,7 +160,7 @@
     "17" for version 1.7.x.)
   > autoreconf -fiv
 
-  > ./configure --with-pic --without-dtrace --disable-static \
+  > ./configure --with-pic --without-dtrace --disable-static --disable-dri \
       --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg \
       --disable-dmx --disable-xwin --disable-xephyr --disable-kdrive \
       --disable-config-dbus --disable-config-hal --disable-config-udev \
diff --git a/unix/xserver/hw/vnc/Makefile.am b/unix/xserver/hw/vnc/Makefile.am
index 42da2b4..2f58b4c 100644
--- a/unix/xserver/hw/vnc/Makefile.am
+++ b/unix/xserver/hw/vnc/Makefile.am
@@ -24,13 +24,13 @@
 
 man1_MANS = Xvnc.man
 
-Xvnc_SOURCES = xvnc.cc $(top_srcdir)/Xext/dpmsstubs.c \
+Xvnc_SOURCES = xvnc.cc \
 	$(top_srcdir)/Xi/stubs.c $(top_srcdir)/mi/miinitext.c \
 	$(top_srcdir)/fb/fbcmap_mi.c buildtime.c
 
 nodist_Xvnc_SOURCES = fbrop.h fb.h pixman.h
 
-Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DTIGERVNC -DNO_HW_ONLY_EXTS -DNO_MODULE_EXTS \
+Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DTIGERVNC -DNO_MODULE_EXTS \
 	-UHAVE_CONFIG_H \
 	-DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
 	-DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common \
diff --git a/unix/xserver/hw/vnc/xvnc.cc b/unix/xserver/hw/vnc/xvnc.cc
index 210a31a..41384a4 100644
--- a/unix/xserver/hw/vnc/xvnc.cc
+++ b/unix/xserver/hw/vnc/xvnc.cc
@@ -211,6 +211,24 @@
 
 extern "C" {
 
+#ifdef DPMSExtension
+    /* Why support DPMS? Because stupid modern desktop environments
+       such as Unity 2D on Ubuntu 11.10 crashes if DPMS is not
+       available. (DPMSSet is called by dpms.c, but the return value
+       is ignored.) */
+int DPMSSet(ClientPtr client, int level)
+{
+    return Success;
+}
+
+Bool DPMSSupported()
+{
+    /* Causes DPMSCapable to return false, meaning no devices are DPMS
+       capable */
+    return FALSE;
+}
+#endif
+
 void ddxGiveUp()
 {
     int i;