diff --git a/randr/rrproperty.c b/randr/rrproperty.c index dd1b5e0a1..ed01c88c7 100644 --- a/randr/rrproperty.c +++ b/randr/rrproperty.c @@ -125,6 +125,7 @@ RRChangeOutputProperty (RROutputPtr output, Atom property, Atom type, { RRPropertyPtr prop; xRROutputPropertyNotifyEvent event; + rrScrPrivPtr pScrPriv = rrGetScrPriv(output->pScreen); int sizeInBytes; int totalSize; pointer data; @@ -213,6 +214,13 @@ RRChangeOutputProperty (RROutputPtr output, Atom property, Atom type, prop->next = output->properties; output->properties = prop; } + + if (!prop->is_pending) { + /* What should we do in case of failure? */ + pScrPriv->rrOutputSetProperty(output->pScreen, output, + prop->propertyName, prop_value); + } + if (sendevent) { event.type = RREventBase + RRNotify;