Skip to content

Deprecated / platform‑specific Qt APIs that break on newer Qt versions #169

@tibirna

Description

@tibirna

Identified by Proton's Lumo AI agent

What the code does

Older parts of the code still call Qt 4/Qt 5 APIs that have been removed or changed in Qt 6, for example:

int delta = event->delta();          // QWheelEvent::delta() – removed in Qt 5.15

and the USE_QPROCESS fallback that toggles between a custom MyProcess wrapper and plain QProcess.

Why it’s a fault

When you compile QGit against Qt 6 (the default for most modern Linux distros and the Flathub build), those calls simply won’t compile, forcing developers to keep the old compatibility shim alive.
Even if it compiles (because the code is conditionally excluded), the runtime path that still uses the old API can misinterpret wheel events, leading to erratic scrolling or missed UI updates.

Typical symptom

Build failures on recent Qt versions ('QWheelEvent’ has no member named ‘delta’).
On systems where the compatibility shim is accidentally enabled, mouse‑wheel scrolling behaves strangely or is completely ignored.

Fix‑point

Replace the deprecated calls with the modern equivalents (event->angleDelta()), and remove the legacy USE_QPROCESS guard now that Qt’s own QProcess is stable across all supported Qt versions. This also simplifies the code base and reduces the surface for platform‑specific bugs.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions