Exception in thread "main" java.lang.IllegalArgumentException: Argument not valid
at org.eclipse.swt.SWT.error(SWT.java:4899)
at org.eclipse.swt.SWT.error(SWT.java:4833)
at org.eclipse.swt.SWT.error(SWT.java:4804)
at org.eclipse.swt.graphics.TextLayout.setFont(TextLayout.java:3097)
at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(StyledTextRenderer.java:1193)
at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(StyledTextRenderer.java:908)
at org.eclipse.swt.custom.StyledTextRenderer.calculate(StyledTextRenderer.java:298)
at org.eclipse.swt.custom.StyledText.redraw(StyledText.java:7846)
at org.eclipse.swt.custom.StyledText.updateCaretVisibility(StyledText.java:11278)
at org.eclipse.swt.custom.StyledText.setCaretLocations(StyledText.java:9055)
at org.eclipse.swt.custom.StyledText.setCaretLocations(StyledText.java:8949)
at org.eclipse.swt.custom.StyledText.handleResize(StyledText.java:6517)
at org.eclipse.swt.custom.StyledText.lambda$28(StyledText.java:5939)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4243)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1063)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1087)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1068)
at org.eclipse.swt.widgets.Control.WM_SIZE(Control.java:5448)
at org.eclipse.swt.widgets.Scrollable.WM_SIZE(Scrollable.java:360)
at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1725)
at org.eclipse.swt.widgets.Canvas.WM_SIZE(Canvas.java:444)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4823)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5015)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(Native Method)
at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:91)
at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5678)
at org.eclipse.swt.widgets.Canvas.WM_WINDOWPOSCHANGED(Canvas.java:451)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4836)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5023)
at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(Native Method)
at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:993)
at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:970)
at org.eclipse.swt.widgets.Composite.setResizeChildren(Composite.java:1166)
at org.eclipse.swt.widgets.ToolBar.setBoundsInPixels(ToolBar.java:946)
at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3215)
at org.eclipse.swt.widgets.Control.setBounds(Control.java:3210)
at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:697)
at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:201)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1335)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1320)
at org.eclipse.swt.widgets.Composite.layout(Composite.java:700)
at org.eclipse.swt.widgets.Composite.layout(Composite.java:652)
at org.eclipse.swt.widgets.Composite.layout(Composite.java:608)
at com.remainsoftware.chat.ui.ChatWidget.calculateSpace(ChatWidget.java:1343)
at com.remainsoftware.chat.ui.ChatWidget.access$3(ChatWidget.java:1339)
at com.remainsoftware.chat.ui.ChatWidget$9.modifyText(ChatWidget.java:876)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:183)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4243)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1063)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1087)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1072)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:775)
at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:7653)
at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:8539)
at org.eclipse.swt.custom.StyledText.doContent(StyledText.java:2540)
at org.eclipse.swt.custom.StyledText.handleKey(StyledText.java:6222)
at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:6253)
at org.eclipse.swt.custom.StyledText.lambda$28(StyledText.java:5932)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4243)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1063)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1087)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1072)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1114)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1110)
at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1539)
at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4868)
at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4746)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5015)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3630)
at com.remainsoftware.chat.test.ui.ChatWidgetTest.main(ChatWidgetTest.java:33)
When typing CTRL++ to increate the font we get:
Exception in thread "main" java.lang.IllegalArgumentException: Argument not valid at org.eclipse.swt.SWT.error(SWT.java:4899) at org.eclipse.swt.SWT.error(SWT.java:4833) at org.eclipse.swt.SWT.error(SWT.java:4804) at org.eclipse.swt.graphics.TextLayout.setFont(TextLayout.java:3097) at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(StyledTextRenderer.java:1193) at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(StyledTextRenderer.java:908) at org.eclipse.swt.custom.StyledTextRenderer.calculate(StyledTextRenderer.java:298) at org.eclipse.swt.custom.StyledText.redraw(StyledText.java:7846) at org.eclipse.swt.custom.StyledText.updateCaretVisibility(StyledText.java:11278) at org.eclipse.swt.custom.StyledText.setCaretLocations(StyledText.java:9055) at org.eclipse.swt.custom.StyledText.setCaretLocations(StyledText.java:8949) at org.eclipse.swt.custom.StyledText.handleResize(StyledText.java:6517) at org.eclipse.swt.custom.StyledText.lambda$28(StyledText.java:5939) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4243) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1063) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1087) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1068) at org.eclipse.swt.widgets.Control.WM_SIZE(Control.java:5448) at org.eclipse.swt.widgets.Scrollable.WM_SIZE(Scrollable.java:360) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1725) at org.eclipse.swt.widgets.Canvas.WM_SIZE(Canvas.java:444) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4823) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5015) at org.eclipse.swt.internal.win32.OS.DefWindowProc(Native Method) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:91) at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:5678) at org.eclipse.swt.widgets.Canvas.WM_WINDOWPOSCHANGED(Canvas.java:451) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4836) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5023) at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(Native Method) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:993) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:970) at org.eclipse.swt.widgets.Composite.setResizeChildren(Composite.java:1166) at org.eclipse.swt.widgets.ToolBar.setBoundsInPixels(ToolBar.java:946) at org.eclipse.swt.widgets.Control.setBoundsInPixels(Control.java:3215) at org.eclipse.swt.widgets.Control.setBounds(Control.java:3210) at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:697) at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:201) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1335) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1320) at org.eclipse.swt.widgets.Composite.layout(Composite.java:700) at org.eclipse.swt.widgets.Composite.layout(Composite.java:652) at org.eclipse.swt.widgets.Composite.layout(Composite.java:608) at com.remainsoftware.chat.ui.ChatWidget.calculateSpace(ChatWidget.java:1343) at com.remainsoftware.chat.ui.ChatWidget.access$3(ChatWidget.java:1339) at com.remainsoftware.chat.ui.ChatWidget$9.modifyText(ChatWidget.java:876) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:183) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4243) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1063) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1087) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1072) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:775) at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:7653) at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:8539) at org.eclipse.swt.custom.StyledText.doContent(StyledText.java:2540) at org.eclipse.swt.custom.StyledText.handleKey(StyledText.java:6222) at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:6253) at org.eclipse.swt.custom.StyledText.lambda$28(StyledText.java:5932) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4243) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1063) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1087) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1072) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1114) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1110) at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1539) at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4868) at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4746) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5015) at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3630) at com.remainsoftware.chat.test.ui.ChatWidgetTest.main(ChatWidgetTest.java:33)