From f7dae972aac28c5792566e997c40254e787d246a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Tue, 15 Jun 2010 23:25:34 +0300 Subject: [PATCH] xv: Don't send port notify when SetPortAttribute fails MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently a port notify event is sent even if SetPortAttribute fails. Furthermore the value field in the event will contain the value that was specified in the failed request. So any client interested in the actual value of the attribute will have to double check the current value with GetPortAttribute after receiving a port notify event. Fix the problem by sending port notifications only when SetPortAttribute succeeds. Signed-off-by: Ville Syrjälä Reviewed-by: Keith Packard Signed-off-by: Keith Packard --- Xext/xvmain.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Xext/xvmain.c b/Xext/xvmain.c index 1b80b12e9..12b4c5184 100644 --- a/Xext/xvmain.c +++ b/Xext/xvmain.c @@ -1133,12 +1133,13 @@ XvdiSetPortAttribute( Atom attribute, INT32 value ){ + int status; + status = (* pPort->pAdaptor->ddSetPortAttribute)(client, pPort, attribute, value); + if (status == Success) XvdiSendPortNotify(pPort, attribute, value); - return - (* pPort->pAdaptor->ddSetPortAttribute)(client, pPort, attribute, value); - + return status; } int