This is an automated email from the ASF dual-hosted git repository.

jtulach pushed a commit to branch release122
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/release122 by this push:
     new af78d2e  Disabling canClose dialog
     new fab5283  Merge pull request #2646 from 
JaroslavTulach/jtulach/DisableCanCloseDialog
af78d2e is described below

commit af78d2eec37911adb590ca26ff9e2786cb98ba1e
Author: Jaroslav Tulach <[email protected]>
AuthorDate: Thu Jan 7 08:00:01 2021 +0100

    Disabling canClose dialog
---
 .../java/lsp/server/ui/AbstractDialogDisplayer.java      | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git 
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractDialogDisplayer.java
 
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractDialogDisplayer.java
index 35e05a0..a35ba88 100644
--- 
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractDialogDisplayer.java
+++ 
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractDialogDisplayer.java
@@ -46,6 +46,22 @@ public class AbstractDialogDisplayer extends DialogDisplayer 
{
     @Override
     public Object notify(NotifyDescriptor descriptor) {
         LspServerUtils.avoidClientMessageThread(context);
+
+        // XXX: Subject to better fix
+        // XXX: Possibly use 3.16 protocol's willRename/didRename
+        // XXX: when available
+        StackTraceElement[] stack = new Exception().getStackTrace();
+        if (stack.length > 2 && stack[1] != null) {
+            if (
+                
"org.openide.text.DataEditorSupport".equals(stack[1].getClassName()) &&
+                "canClose".equals(stack[1].getMethodName())
+            ) {
+                // when VSCode renames modified file, don't try to save the
+                // original
+                return NotifyDescriptor.CLOSED_OPTION;
+            }
+        }
+
         UIContext ctx = UIContext.find(context);
         NotifyDescriptorAdapter adapter = new 
NotifyDescriptorAdapter(descriptor, ctx);
         return adapter.clientNotify();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to