Repository navigation
Backport #3775: Xi byte-swap DeviceChanged valuator and scroll data - #3825
Conversation
SDeviceChangedEvent left ValuatorClass.value and every ScrollClass-specific multi-byte field in server byte order. Swapped clients therefore received corrupt current values and scroll metadata. Swap those fields and extend the protocol event conversion coverage to nonzero relative valuator values and both scroll directions and flags. Signed-off-by: Lukáš Lipinský <18076-Mr-Tao@users.noreply.gitlab.freedesktop.org> Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2291> (cherry picked from commit cf91b97) (cherry picked from commit 7a7e9c66b17cd0d64d31fa19244f3e4eb162fed7) (cherry picked from commit f9e486a) (cherry picked from commit cafe531)
Review: passBackport of master #3775 ( Patch fidelity
ProvenanceForeign patch, so the original author's sign-off is retained and exactly one is Branch-correct paths — the thing that fails mechanically
The Rule 2 — backport assessmentProtocol-correctness for byte-swapped clients: a ScrollClass flag in the XI2 Rule 3 — driver ABINo impact. Merge
|
Title: "Backport #3775 (Xi: byte-swap DeviceChanged valuator) auf release/25.3, 25.1, 25.0"
|
| Datei | 25.2 | 25.1 | 25.0 |
|---|---|---|---|
| Server | Xi/extinit.c |
Xi/extinit.c |
Xi/extinit.c |
| Test | test/xi2/protocol-eventconvert.c |
dito | dito |
Auf 25.1/25.0 wird der Cherry-Pick Xi/extinit.c anlegen wollen.
git diff origin/release/<ziel>..HEAD --stat muss genau 2 Dateien zeigen, und
Xi/extinit.c darf nicht auftauchen.
Abnahmekriterium
- Ein Dashboard-Topic pro PR (dieses hier ist der Sammelbezug, kein Ersatz dafür).
- Jeder PR nennt im PR-Body die Topic-Slug und sein Topic verlinkt zurück.
- Beide Dateien müssen je Branch angefasst sein — nur Server ohne Test ändert im CI
nichts, nur Test ohne Server macht die Suite rot. - Sign-off-Zahl == 1, Autor == Originalautor.
git rev-list --count origin/release/<ziel>..HEAD== 0.- Erst bei Commit + Topic + Verlinkung in beide Richtungen wird ein Haken gesetzt.
Verifikationsbasis pro PR (im Body, nicht im Topic)
- master source commit : cafe531
- local origin/master :
- GitHub branch tip : gh api repos/X11Libre/xserver/git/ref/heads/release/ -q .object.sha
- foreign commits : git rev-list --count origin/release/..HEAD = 0
- angefasste Datei : <die, die auf diesem Branch liegt>
Werte vor dem Posten per grep auf 40 Hex-Zeichen gegenprüfen — nicht danach.
Checkliste — 3 PRs, noch keiner existiert
- release/25.3 — PR offen? ____
- release/25.1 — PR offen? ____
- release/25.0 — PR offen? ____
Build-Erwartung, branch-abhaengig
-Dwerror=true. Die dokumentierte Einzelausnahme os/Xtranssock.c:631 gilt auf
25.0 nicht — die Datei existiert dort nicht, stattdessen gibt es fünf vorbestehende
Fehler in drei Dateien. Bei mehr als der einen Ausnahme: Gegenprobe am ungepatchten
origin/release/<ziel>-Tip im selben Build-Dir. Identische Fehlermenge heißt
"nicht dein Commit".
Merge
release/* wird nie automatisch gemergt. Review, Kommentar, Label, dann Stopp.
Backport of PR #3775 (Xi: byte-swap DeviceChanged valuator and scroll data) to release/25.0.
Source commit: cafe531 (PR #3775 merge commit)
Files changed: Xi/extinit.c, test/xi2/protocol-eventconvert.c
Signed-off-by: Lukáš Lipinský 18076-Mr-Tao@users.noreply.gitlab.freedesktop.org
Part-of: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2291
Cherry-picked from commit cafe531