Apparently it is more kosher to completely disassociate an
output from its CRTC than just removing the mode when
disabling an output. This is what "xrandr --off" does.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5099 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/xserver/hw/vnc/XserverDesktop.cc b/unix/xserver/hw/vnc/XserverDesktop.cc
index 3ef6f25..b087279 100644
--- a/unix/xserver/hw/vnc/XserverDesktop.cc
+++ b/unix/xserver/hw/vnc/XserverDesktop.cc
@@ -934,8 +934,7 @@
/* Missing? */
if (iter == layout.end()) {
/* Disable and move on... */
- ret = RRCrtcSet(crtc, NULL, crtc->x, crtc->y, crtc->rotation,
- crtc->numOutputs, crtc->outputs);
+ ret = RRCrtcSet(crtc, NULL, crtc->x, crtc->y, crtc->rotation, 0, NULL);
if (!ret) {
vlog.error("Failed to disable unused CRTC for output '%s'",
output->name);
diff --git a/unix/xserver/hw/vnc/xvnc.cc b/unix/xserver/hw/vnc/xvnc.cc
index 8dc20bc..abb7121 100644
--- a/unix/xserver/hw/vnc/xvnc.cc
+++ b/unix/xserver/hw/vnc/xvnc.cc
@@ -1196,8 +1196,7 @@
if ((crtc->x >= width) || (crtc->y >= height)) {
/* Disable it */
ret = vncRandRCrtcSet(pScreen, crtc, NULL,
- crtc->x, crtc->y, crtc->rotation,
- crtc->numOutputs, crtc->outputs);
+ crtc->x, crtc->y, crtc->rotation, 0, NULL);
if (!ret)
ErrorF("Warning: Unable to disable CRTC that is outside of new screen dimensions");
continue;