Bug 275910 [Widgets] PaintListener on Tree not invoked when item count is 0
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/ExtendedMarkersView.java
* (non-Javadoc)
	 * 
	 * @see org.eclipse.ui.part.ViewPart#saveState(org.eclipse.ui.IMemento)
	 */
	public void saveState(IMemento memento) {
		super.saveState(memento);
		memento.putString(TAG_PART_NAME, getPartName());
		if (generator != null) {
			memento.putString(TAG_GENERATOR, builder.getGenerator().getId());
		}
		if (!getCategoriesToExpand().isEmpty()) {
			IMemento expanded = memento.createChild(TAG_EXPANDED);
			Iterator categories = getCategoriesToExpand().iterator();
			while (categories.hasNext()) {
				expanded.createChild(TAG_CATEGORY, (String) categories.next());
			}
		}
		IMemento columnEntry = memento.createChild(TAG_COLUMN_WIDTHS);
		MarkerField[] fields = new MarkerField[viewer.getTree()
				.getColumnCount()];
		int[] positions = viewer.getTree().getColumnOrder();
		for (int i = 0; i < fields.length; i++) {
			TreeColumn column = viewer.getTree().getColumn(i);
			MarkerField markerField= (MarkerField)column.getData(MARKER_FIELD);
			
			if (Util.isGtk())
				treePainted= viewer.getTree().getClientArea().width > 0;
			/*
			 * Workaround for TeeColumn.getWidth() returning 0 in some cases, see
			 * https:bugs.eclipse.org/341865 for details.