Source:
<code>void updateMessage() { switchResultLayout.topControl = defaultComposite; ProfileChangeOperation profileChangeOperation = getWizard().getProfileChangeOperation(); if (profileChangeOperation != null) { if (profileChangeOperation instanceof RemediationOperation && ((RemediationOperation) profileChangeOperation).getResolutionResult() == Status.OK_STATUS) { if (remediationGroup == null) { remediationGroup = new RemediationGroup(this); remediationGroup.createRemediationControl(container); } setMessage(remediationGroup.getMessage(), IStatus.WARNING); remediationGroup.getDetailsGroup().setDetailText(getWizard().getErrorMessage()); remediationGroup.update((RemediationOperation) profileChangeOperation); switchResultLayout.topControl = remediationGroup.getComposite(); } else { IStatus resolutionResult = profileChangeOperation.getResolutionResult(); if (!resolutionResult.isOK()) { String message = resolutionResult.getMessage(); if (resolutionResult.getSeverity() == IStatus.ERROR) { message = Messages.FeatureSelectionWizardPage_provisioningErrorAdvisory; } else if (resolutionResult.getSeverity() == IStatus.WARNING) { message = Messages.FeatureSelectionWizardPage_provisioningWarningAdvisory; } setMessage(message, Util.computeMessageType(resolutionResult)); String originalText = detailStatusText.getText(); String newText; try { newText = profileChangeOperation.getResolutionDetails(); } catch (Exception e) { MarketplaceClientUi.error(e); newText = Messages.FeatureSelectionWizardPage_detailsUnavailable; } if (newText != originalText || (newText != null && !newText.equals(originalText))) { detailStatusText.setText(newText); } ((GridData) detailsControl.getLayoutData()).exclude = false; } else { setMessage(null, IMessageProvider.NONE); ((GridData) detailsControl.getLayoutData()).exclude = true; } } } else { setMessage(null, IMessageProvider.NONE); ((GridData) detailsControl.getLayoutData()).exclude = true; } <START> ((Composite) getControl()).layout(true); <END> }</code><technical_language>new layout, this fails update detailsControl. A workaround is call defaultComposite.layout(true) first</technical_language>

Target:
void updateMessage() { switchResultLayout.topControl = defaultComposite; ProfileChangeOperation profileChangeOperation = getWizard().getProfileChangeOperation(); if (profileChangeOperation != null) { if (profileChangeOperation instanceof RemediationOperation && ((RemediationOperation) profileChangeOperation).getResolutionResult() == Status.OK_STATUS) { if (remediationGroup == null) { remediationGroup = new RemediationGroup(this); remediationGroup.createRemediationControl(container); } setMessage(remediationGroup.getMessage(), IStatus.WARNING); remediationGroup.getDetailsGroup().setDetailText(getWizard().getErrorMessage()); remediationGroup.update((RemediationOperation) profileChangeOperation); switchResultLayout.topControl = remediationGroup.getComposite(); } else { IStatus resolutionResult = profileChangeOperation.getResolutionResult(); if (!resolutionResult.isOK()) { String message = resolutionResult.getMessage(); if (resolutionResult.getSeverity() == IStatus.ERROR) { message = Messages.FeatureSelectionWizardPage_provisioningErrorAdvisory; } else if (resolutionResult.getSeverity() == IStatus.WARNING) { message = Messages.FeatureSelectionWizardPage_provisioningWarningAdvisory; } setMessage(message, Util.computeMessageType(resolutionResult)); String originalText = detailStatusText.getText(); String newText; try { newText = profileChangeOperation.getResolutionDetails(); } catch (Exception e) { MarketplaceClientUi.error(e); newText = Messages.FeatureSelectionWizardPage_detailsUnavailable; } if (newText != originalText || (newText != null && !newText.equals(originalText))) { detailStatusText.setText(newText); } ((GridData) detailsControl.getLayoutData()).exclude = false; } else { setMessage(null, IMessageProvider.NONE); ((GridData) detailsControl.getLayoutData()).exclude = true; } } } else { setMessage(null, IMessageProvider.NONE); ((GridData) detailsControl.getLayoutData()).exclude = true; } ((Composite) getControl()).layout(true); defaultComposite.layout(true); }