diff options
author | Simeon Andreev | 2020-03-02 13:59:07 +0000 |
---|---|---|
committer | Simeon Andreev | 2020-03-02 14:16:31 +0000 |
commit | 697bfc6d52100863ae803e2baa7d94968cae3b7b (patch) | |
tree | ac4eac4179f14b8df1b8163f0791c43bed4122c0 | |
parent | 8c7febc9b47c3530140a8974b17c73543675cd2a (diff) | |
download | eclipse.platform.swt-697bfc6d52100863ae803e2baa7d94968cae3b7b.tar.gz eclipse.platform.swt-697bfc6d52100863ae803e2baa7d94968cae3b7b.tar.xz eclipse.platform.swt-697bfc6d52100863ae803e2baa7d94968cae3b7b.zip |
Bug 484682 - test snippet for StackOverflowError in tree
This change adds a snippet to reproduce the problem with.
Change-Id: I266a992ee7745ad9eaf11c0c5226374aa928ab5f
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
Also-By: Mark Peters <mpeters985@yahoo.com>
-rw-r--r-- | tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/snippets/Bug484682_TreeEditorStackOverflow.java | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/snippets/Bug484682_TreeEditorStackOverflow.java b/tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/snippets/Bug484682_TreeEditorStackOverflow.java new file mode 100644 index 0000000000..95acfe8527 --- /dev/null +++ b/tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/snippets/Bug484682_TreeEditorStackOverflow.java @@ -0,0 +1,73 @@ +/******************************************************************************* + * Copyright (c) 2020 Mark Peters and others. + * + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Mark Peters - initial API and implementation + *******************************************************************************/ +package org.eclipse.swt.tests.gtk.snippets; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.TreeEditor; +import org.eclipse.swt.layout.FillLayout; +import org.eclipse.swt.widgets.Canvas; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Tree; +import org.eclipse.swt.widgets.TreeColumn; +import org.eclipse.swt.widgets.TreeItem; +/* + * Title: Bug 484682: [GTK3] Stack overflow due to tree editor resizes + * How to run: Run snippet. + * Bug description: A stack overflow exception is thrown, during a tree editor resize. + * Expected results: No stack overflow occurs. + * GTK Version(s): GTK3.22.10 + */ +public class Bug484682_TreeEditorStackOverflow { + + public static void main(String[] args) { + Display display = new Display(); + + Shell shell = new Shell(display, SWT.DIALOG_TRIM); + shell.setLayout(new FillLayout()); + + // Create a tree + Tree tree = new Tree(shell, SWT.NONE); + tree.setHeaderVisible(true); + + new TreeColumn(tree, SWT.NONE); + TreeColumn lastColumn = new TreeColumn(tree, SWT.NONE); + + shell.pack(); + + // Need to have vertical scrollbar and not have horizontal scrollbar + shell.setSize(2000, 100); + + shell.open(); + + TreeItem item = new TreeItem(tree, SWT.NONE); + item.setText(0, "test"); + new TreeEditor(tree).setEditor(new Canvas(tree, SWT.NONE), item, 1); + + lastColumn.pack(); + + // Create rows + for (int i = 0; i < 10; ++i) { + new TreeItem(tree, SWT.NONE); + } + + lastColumn.pack(); + + while (!shell.isDisposed()) { + if (!display.readAndDispatch()) { + display.sleep(); + } + } + } +}
\ No newline at end of file |