mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-04-22 12:50:39 +02:00
Set the Damage version supported in the server, instead of using damageproto.
This was caught by distributions upgrading damageproto to 1.1, before the
server they had supported it. The server then advertised the new version
without supporting the protocol.
(cherry picked from 8274ea6aa9 commit)
This commit is contained in:
parent
967865393c
commit
c328513b36
1 changed files with 12 additions and 5 deletions
|
|
@ -35,6 +35,13 @@ int DamageClientPrivateIndex;
|
|||
RESTYPE DamageExtType;
|
||||
RESTYPE DamageExtWinType;
|
||||
|
||||
/* Version of the damage extension supported by the server, as opposed to the
|
||||
* DAMAGE_* defines from damageproto for what version the proto header
|
||||
* supports.
|
||||
*/
|
||||
#define SERVER_DAMAGE_MAJOR 1
|
||||
#define SERVER_DAMAGE_MINOR 1
|
||||
|
||||
#define prScreen screenInfo.screens[0]
|
||||
|
||||
static void
|
||||
|
|
@ -143,16 +150,16 @@ ProcDamageQueryVersion(ClientPtr client)
|
|||
rep.type = X_Reply;
|
||||
rep.length = 0;
|
||||
rep.sequenceNumber = client->sequence;
|
||||
if (stuff->majorVersion < DAMAGE_MAJOR) {
|
||||
if (stuff->majorVersion < SERVER_DAMAGE_MAJOR) {
|
||||
rep.majorVersion = stuff->majorVersion;
|
||||
rep.minorVersion = stuff->minorVersion;
|
||||
} else {
|
||||
rep.majorVersion = DAMAGE_MAJOR;
|
||||
if (stuff->majorVersion == DAMAGE_MAJOR &&
|
||||
stuff->minorVersion < DAMAGE_MINOR)
|
||||
rep.majorVersion = SERVER_DAMAGE_MAJOR;
|
||||
if (stuff->majorVersion == SERVER_DAMAGE_MAJOR &&
|
||||
stuff->minorVersion < SERVER_DAMAGE_MINOR)
|
||||
rep.minorVersion = stuff->minorVersion;
|
||||
else
|
||||
rep.minorVersion = DAMAGE_MINOR;
|
||||
rep.minorVersion = SERVER_DAMAGE_MINOR;
|
||||
}
|
||||
pDamageClient->major_version = rep.majorVersion;
|
||||
pDamageClient->minor_version = rep.minorVersion;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue