From 2b951714ec648b29e692671c393561873fe603fa Mon Sep 17 00:00:00 2001 From: serge-rider Date: Sun, 3 Jun 2018 16:59:10 +0300 Subject: [PATCH] #3553 Save editor values before dialog close Former-commit-id: 19ffd9464f0a08b931fb10d47fc0382119b8a00a --- .../org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java index 93454a9944..a341a2f21f 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/properties/PropertyTreeViewer.java @@ -54,6 +54,7 @@ import org.jkiss.utils.BeanUtils; import org.jkiss.utils.CommonUtils; import java.lang.reflect.Array; +import java.lang.reflect.Method; import java.text.Collator; import java.util.*; import java.util.List; @@ -636,7 +637,9 @@ public class PropertyTreeViewer extends TreeViewer { // by clicking on Ok button CellEditor doesn't get FocusLost event and thus doesn't save its value. // This is workaround. Calling protected method focusLost in okPressed saves the value. // See https://github.com/dbeaver/dbeaver/issues/3553 - CellEditor.class.getDeclaredMethod("focusLost").invoke(curCellEditor); + Method focusLost = CellEditor.class.getDeclaredMethod("focusLost"); + focusLost.setAccessible(true); + focusLost.invoke(curCellEditor); } catch (Throwable throwable) { // Ignore } -- GitLab