summaryrefslogtreecommitdiff
path: root/src/managers/PointerManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/PointerManager.cpp')
-rw-r--r--src/managers/PointerManager.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp
index df145f6d..5fdfa553 100644
--- a/src/managers/PointerManager.cpp
+++ b/src/managers/PointerManager.cpp
@@ -507,6 +507,10 @@ SP<Aquamarine::IBuffer> CPointerManager::renderHWCursorBuffer(SP<CPointerManager
const auto TR = state->monitor->transform;
+ // we need to scale the cursor to the right size, because it might not be (esp with XCursor)
+ const auto SCALE = texture->m_vSize / (currentCursorImage.size / currentCursorImage.scale * state->monitor->scale);
+ cairo_matrix_scale(&matrixPre, SCALE.x, SCALE.y);
+
if (TR) {
cairo_matrix_rotate(&matrixPre, M_PI_2 * (double)TR);