diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/Cursor.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/Cursor.java index 9f32841a320..650a2d234c1 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/Cursor.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/Cursor.java @@ -627,14 +627,10 @@ public ImageDataProviderCursorHandleProvider(ImageDataProvider provider, int hot @Override public CursorHandle createHandle(Device device, int zoom) { - ImageData source; - if (zoom == DEFAULT_ZOOM) { - source = this.provider.getImageData(DEFAULT_ZOOM); - } else { - Image tempImage = new Image(device, this.provider); - source = tempImage.getImageData(zoom); - tempImage.dispose(); - } + Image tempImage = new Image(device, this.provider); + int scaledZoom = (int) (zoom * getPointerSizeScaleFactor()); + ImageData source = tempImage.getImageData(scaledZoom); + tempImage.dispose(); return setupCursorFromImageData(device, source, null, getHotpotXInPixels(zoom), getHotpotYInPixels(zoom)); } }