Skip to content

Commit

Permalink
510448: SWTException below ImportFavoritesPage$2$1.call (thrown in
Browse files Browse the repository at this point in the history
    Widget.checkWidget)

Error message needs to be set on display thread.

Change-Id: If98bdac53c6b293a29d37c29404350272cbacd40
Signed-off-by: Leif Geiger <geiger@yatta.de>
  • Loading branch information
Leif Geiger committed Feb 25, 2019
1 parent 9a26dd1 commit aebc900
Showing 1 changed file with 11 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.userstorage.util.ConflictException;

Expand Down Expand Up @@ -154,15 +155,23 @@ public void performImport() {
importNodes.add(item.getData());
}
try {
Display display = Display.getCurrent();
getContainer().run(true, false, monitor -> {
try {
userFavoritesService.getStorageService().runWithLogin(() -> {
String errorMessage = null;
try {
userFavoritesService.addFavorites(importNodes, monitor);
} catch (NotAuthorizedException e1) {
setErrorMessage(Messages.ImportFavoritesPage_unauthorizedErrorMessage);
errorMessage = Messages.ImportFavoritesPage_unauthorizedErrorMessage;
} catch (ConflictException e2) {
setErrorMessage(Messages.ImportFavoritesPage_conflictErrorMessage);
errorMessage = Messages.ImportFavoritesPage_conflictErrorMessage;
}
if (errorMessage != null && !display.isDisposed()) {
final String finalErrorMessage = errorMessage;
display.syncExec(() -> {
setErrorMessage(finalErrorMessage);
});
}
return null;
});
Expand Down

0 comments on commit aebc900

Please sign in to comment.