diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/internal/DPIZoomChangeRegistry.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/internal/DPIZoomChangeRegistry.java index 3ba6d4adc37..2547860fe91 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/internal/DPIZoomChangeRegistry.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/internal/DPIZoomChangeRegistry.java @@ -53,7 +53,11 @@ public static void applyChange(Widget widget, int newZoom, float scalingFactor) Class clazz = entry.getKey(); DPIZoomChangeHandler handler = entry.getValue(); if (clazz.isInstance(widget)) { - handler.handleDPIChange(widget, newZoom, scalingFactor); + try { + handler.handleDPIChange(widget, newZoom, scalingFactor); + } catch (RuntimeException ex) { + widget.getDisplay().getRuntimeExceptionHandler().accept(ex); + } } } Event event = new Event();