• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ossia / score / 30754433360
15%

Build:
DEFAULT BRANCH: master
Ran 02 Aug 2026 05:59PM UTC
Jobs 1
Files 2921
Run time 4min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Aug 2026 03:28PM UTC coverage: 15.264% (+0.001%) from 15.263%
30754433360

push

github

jcelerier
fix(widgets): scale custom cursor hotspots on xcb for HiDPI

score::get_cursor loads the @2x cursor asset once devicePixelRatio() >= 1.5 and
tags the pixmap with devicePixelRatio 2. The hotspots in score::Skin are given in
device-independent pixels, which is what QCursor expects.

Qt's xcb backend however passes QCursor::hotSpot() straight to
xcb_render_create_cursor together with the raw device-pixel image
(QXcbCursor::createBitmapCursor -> qt_xcb_createCursorXRender), so the hotspot of a
64x64 @2x cursor lands at (16,16) instead of its centre (32,32). The cursor is then
drawn 16 device pixels down and to the right of the real pointer, which makes every
item look like its hitbox is misplaced: pointing at a small widget actually hits
whatever is up and to the left of it. It is most visible with the UI Zoom setting
above 100%, since Zoom raises devicePixelRatio and therefore the size of the gap in
screen pixels.

Measured with XFixesGetCursorImage on Qt 6.4.2, cursor_pointing_hand@2x.png:
hotspot (16,16) on a 64x64 image before, (32,32) after. That xcb code is unchanged
from Qt 6.2 through 6.11, so express the hotspot in the image's own pixels there
and leave the other platforms, which honour the pixmap devicePixelRatio, alone.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TTUi76cnUWh7dGZC64LqbZ

4 of 4 new or added lines in 1 file covered. (100.0%)

263 existing lines in 1 file now uncovered.

30463 of 199568 relevant lines covered (15.26%)

1075.34 hits per line

Coverage Regressions

Lines Coverage ∆ File
263
0.0
0.0% src/plugins/score-plugin-gfx/Gfx/WindowCapture/WindowCapture_pipewire.cpp
Jobs
ID Job ID Ran Files Coverage
1 30754433360.1 02 Aug 2026 05:59PM UTC 2921
15.26
GitHub Action Run
Source Files on build 30754433360
  • Tree
  • List 2921
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30754433360
  • 5988aecb on github
  • Prev Build on master (#30589063221)
  • Next Build on master (#30815032498)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc