103 lines
3.2 KiB
Diff
103 lines
3.2 KiB
Diff
diff --git a/configure.ac b/configure.ac
|
|
index a018667..09c5d8d 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -32,7 +32,7 @@ dnl protocol, so Xrandr version l.n.m corresponds to protocol version l.n
|
|
dnl
|
|
AC_INIT(libXrandr, 1.3.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], libXrandr)
|
|
AC_CONFIG_AUX_DIR(.)
|
|
-AM_INIT_AUTOMAKE([dist-bzip2])
|
|
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
|
AM_MAINTAINER_MODE
|
|
|
|
# Require xorg-macros: XORG_CWARNFLAGS, XORG_CHANGELOG
|
|
diff --git a/include/X11/extensions/Xrandr.h b/include/X11/extensions/Xrandr.h
|
|
index a411321..6b756a7 100644
|
|
--- a/include/X11/extensions/Xrandr.h
|
|
+++ b/include/X11/extensions/Xrandr.h
|
|
@@ -197,6 +197,7 @@ Time XRRTimes (Display *dpy, int screen, Time *config_timestamp);
|
|
|
|
/* Version 1.2 additions */
|
|
|
|
+/* despite returning a Status, this returns 1 for success */
|
|
Status
|
|
XRRGetScreenSizeRange (Display *dpy, Window window,
|
|
int *minWidth, int *minHeight,
|
|
diff --git a/src/XrrConfig.c b/src/XrrConfig.c
|
|
index db7a1ae..34ff3ef 100644
|
|
--- a/src/XrrConfig.c
|
|
+++ b/src/XrrConfig.c
|
|
@@ -409,6 +409,7 @@ Status XRRSetScreenConfigAndRate (Display *dpy,
|
|
|
|
(void) _XReply (dpy, (xReply *) &rep, 0, xTrue);
|
|
|
|
+ /* actually .errorCode in struct xError */
|
|
if (rep.status == RRSetConfigSuccess) {
|
|
/* if we succeed, set our view of reality to what we set it to */
|
|
config->config_timestamp = rep.newConfigTimestamp;
|
|
diff --git a/src/XrrCrtc.c b/src/XrrCrtc.c
|
|
index db9d0b4..697987a 100644
|
|
--- a/src/XrrCrtc.c
|
|
+++ b/src/XrrCrtc.c
|
|
@@ -167,7 +167,7 @@ XRRGetCrtcGammaSize (Display *dpy, RRCrtc crtc)
|
|
req->crtc = crtc;
|
|
|
|
if (!_XReply (dpy, (xReply *) &rep, 0, xFalse))
|
|
- rep.status = RRSetConfigFailed;
|
|
+ rep.size = 0;
|
|
UnlockDisplay (dpy);
|
|
SyncHandle ();
|
|
return rep.size;
|
|
@@ -179,7 +179,7 @@ XRRGetCrtcGamma (Display *dpy, RRCrtc crtc)
|
|
XExtDisplayInfo *info = XRRFindDisplay(dpy);
|
|
xRRGetCrtcGammaReply rep;
|
|
xRRGetCrtcGammaReq *req;
|
|
- XRRCrtcGamma *crtc_gamma;
|
|
+ XRRCrtcGamma *crtc_gamma = NULL;
|
|
long nbytes;
|
|
long nbytesRead;
|
|
|
|
@@ -192,7 +192,7 @@ XRRGetCrtcGamma (Display *dpy, RRCrtc crtc)
|
|
req->crtc = crtc;
|
|
|
|
if (!_XReply (dpy, (xReply *) &rep, 0, xFalse))
|
|
- rep.status = RRSetConfigFailed;
|
|
+ goto out;
|
|
|
|
nbytes = (long) rep.length << 2;
|
|
|
|
@@ -204,9 +204,7 @@ XRRGetCrtcGamma (Display *dpy, RRCrtc crtc)
|
|
if (!crtc_gamma)
|
|
{
|
|
_XEatData (dpy, (unsigned long) nbytes);
|
|
- UnlockDisplay (dpy);
|
|
- SyncHandle ();
|
|
- return NULL;
|
|
+ goto out;
|
|
}
|
|
_XRead16 (dpy, crtc_gamma->red, rep.size * 2);
|
|
_XRead16 (dpy, crtc_gamma->green, rep.size * 2);
|
|
@@ -214,7 +212,8 @@ XRRGetCrtcGamma (Display *dpy, RRCrtc crtc)
|
|
|
|
if (nbytes > nbytesRead)
|
|
_XEatData (dpy, (unsigned long) (nbytes - nbytesRead));
|
|
-
|
|
+
|
|
+out:
|
|
UnlockDisplay (dpy);
|
|
SyncHandle ();
|
|
return crtc_gamma;
|
|
diff --git a/src/XrrProperty.c b/src/XrrProperty.c
|
|
index 9554f9a..1a125b2 100644
|
|
--- a/src/XrrProperty.c
|
|
+++ b/src/XrrProperty.c
|
|
@@ -272,7 +272,7 @@ XRRGetOutputProperty (Display *dpy, RROutput output,
|
|
{
|
|
UnlockDisplay (dpy);
|
|
SyncHandle ();
|
|
- return 1;
|
|
+ return ((xError *)&rep)->errorCode;
|
|
}
|
|
|
|
*prop = (unsigned char *) NULL;
|