From: <va...@us...> - 2008-04-10 05:57:34
|
Revision: 12394 http://jedit.svn.sourceforge.net/jedit/?rev=12394&view=rev Author: vanza Date: 2008-04-09 22:57:33 -0700 (Wed, 09 Apr 2008) Log Message: ----------- - try harder not to crash when saving projects and we get a null VFS entry. - do some extra logging to see if we can figure out what's wrong when that happens. - fix a possible exception when closing buffers at project close time and trying to update the tree. This doesn't fix the root cause (which I don't know what is), but since we're switching projects we don't really care if the node is not updated. Modified Paths: -------------- plugins/ProjectViewer/trunk/projectviewer/ProjectViewer.java plugins/ProjectViewer/trunk/projectviewer/persist/FileNodeHandler.java plugins/ProjectViewer/trunk/projectviewer/vpt/VPTFile.java Modified: plugins/ProjectViewer/trunk/projectviewer/ProjectViewer.java =================================================================== --- plugins/ProjectViewer/trunk/projectviewer/ProjectViewer.java 2008-04-10 04:49:16 UTC (rev 12393) +++ plugins/ProjectViewer/trunk/projectviewer/ProjectViewer.java 2008-04-10 05:57:33 UTC (rev 12394) @@ -968,11 +968,12 @@ getTreePanel().projectFileOpened(f); } - if (!isClosingProject && bu.getWhat() == BufferUpdate.CLOSED) { - ((VPTProject)where).removeOpenFile(bu.getBuffer().getPath()); + if (!isClosingProject) { + if (bu.getWhat() == BufferUpdate.CLOSED) { + ((VPTProject)where).removeOpenFile(bu.getBuffer().getPath()); + } + ProjectViewer.nodeChanged(f); } - - ProjectViewer.nodeChanged(f); return true; } } else if (where != null) { Modified: plugins/ProjectViewer/trunk/projectviewer/persist/FileNodeHandler.java =================================================================== --- plugins/ProjectViewer/trunk/projectviewer/persist/FileNodeHandler.java 2008-04-10 04:49:16 UTC (rev 12393) +++ plugins/ProjectViewer/trunk/projectviewer/persist/FileNodeHandler.java 2008-04-10 05:57:33 UTC (rev 12394) @@ -26,6 +26,8 @@ import org.xml.sax.Attributes; +import org.gjt.sp.jedit.io.VFSFile; + import projectviewer.vpt.VPTFile; import projectviewer.vpt.VPTNode; import projectviewer.vpt.VPTProject; @@ -95,7 +97,9 @@ public void saveNode(VPTNode node, Writer out) throws IOException { startElement(out); VPTFile file = (VPTFile) node; - if (!file.getName().equals(file.getFile().getName())) { + VFSFile vfsFile = file.getFile(); + if (vfsFile == null || + !file.getName().equals(file.getFile().getName())) { writeAttr(NAME_ATTR, file.getName(), out); } writeAttr(PATH_ATTR, translatePath(file.getURL()), out); Modified: plugins/ProjectViewer/trunk/projectviewer/vpt/VPTFile.java =================================================================== --- plugins/ProjectViewer/trunk/projectviewer/vpt/VPTFile.java 2008-04-10 04:49:16 UTC (rev 12393) +++ plugins/ProjectViewer/trunk/projectviewer/vpt/VPTFile.java 2008-04-10 05:57:33 UTC (rev 12394) @@ -115,6 +115,7 @@ try { return VFSHelper.getFile(url); } catch (IOException ioe) { + Log.log(Log.WARNING, this, ioe); return null; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |