Bug 417685 - [JFace][Snippets] Snippet006TableMultiLineCells division by zero
Summary: [JFace][Snippets] Snippet006TableMultiLineCells division by zero
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.4   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 4.5 M7   Edit
Assignee: Robert Roth CLA
QA Contact:
URL:
Whiteboard:
Keywords: greatfix
Depends on:
Blocks:
 
Reported: 2013-09-20 06:46 EDT by Hendrik Still CLA
Modified: 2015-04-29 07:22 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hendrik Still CLA 2013-09-20 06:46:34 EDT
Snippet006TableMultiLineCells  does not start with a division by zero exception.

Callstack:

Exception in thread "main" java.lang.ArithmeticException: / by zero
	at org.eclipse.jface.snippets.viewers.Snippet006TableMultiLineCells$2.measure(Snippet006TableMultiLineCells.java:200)
	at org.eclipse.jface.viewers.OwnerDrawLabelProvider$OwnerDrawListener.handleEvent(OwnerDrawLabelProvider.java:58)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1416)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1401)
...

Seems that the following Line is the problem:

protected void measure(Event event, Object element) {
	LineEntry line = (LineEntry) element;
	Point size = event.gc.textExtent(line.line);
	event.width = viewer.getTable().getColumn(event.index).getWidth();
	int lines = size.x / event.width + 1; // << / by zero
	event.height = size.y * lines;
}
Comment 1 Eclipse Genie CLA 2015-04-29 02:25:30 EDT
New Gerrit change created: https://git.eclipse.org/r/46733
Comment 3 Dani Megert CLA 2015-04-29 07:01:07 EDT
Thanks Robert!
Comment 4 Lars Vogel CLA 2015-04-29 07:01:44 EDT
.