Skip to content

Commit

Permalink
dbeaver/pro#2680 Workbench restart in pref dialog fix (#33269)
Browse files Browse the repository at this point in the history
Co-authored-by: kseniaguzeeva <[email protected]>
  • Loading branch information
serge-rider and kseniaguzeeva committed May 22, 2024
1 parent 542aec9 commit f13cd34
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.IWorkbenchPropertyPage;
import org.eclipse.ui.PlatformUI;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
Expand Down Expand Up @@ -319,7 +318,7 @@ public boolean performOk()
getShell(),
"Restart " + GeneralUtils.getProductName(),
"You need to restart " + GeneralUtils.getProductName() + " to perform actual language change.\nDo you want to restart?")) {
UIUtils.asyncExec(() -> PlatformUI.getWorkbench().restart());
restartWorkbenchOnPrefChange();
}
}
} catch (DBException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.PlatformUI;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.ModelPreferences;
Expand Down Expand Up @@ -180,7 +179,7 @@ public boolean performOk() {
);

if (restart) {
UIUtils.asyncExec(() -> PlatformUI.getWorkbench().restart());
restartWorkbenchOnPrefChange();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@

import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.PlatformUI;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.internal.UIMessages;
Expand Down Expand Up @@ -51,4 +53,15 @@ void disableButtons() {
protected boolean hasAccessToPage() {
return true;
}

protected void restartWorkbenchOnPrefChange() {
Runnable restarter = () -> PlatformUI.getWorkbench().restart();
if (getContainer() instanceof Window window) {
window.getShell().addDisposeListener(e ->
UIUtils.asyncExec(restarter));
window.close();
} else {
restarter.run();
}
}
}

0 comments on commit f13cd34

Please sign in to comment.