[Mono-bugs] [Bug 82618][Nor] Changed - FolderBrowserDialog: ArgumentNullException creating folder in new folder
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Wed Aug 29 07:48:10 EDT 2007
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by andyhume32 at yahoo.co.uk.
http://bugzilla.ximian.com/show_bug.cgi?id=82618
--- shadow/82618 2007-08-28 15:49:18.000000000 -0400
+++ shadow/82618.tmp.31247 2007-08-29 07:48:10.000000000 -0400
@@ -2,13 +2,13 @@
Product: Mono: Class Libraries
Version: 1.2
OS: All
OS Details:
Status: NEW
Resolution:
-Severity:
+Severity: Unknown
Priority: Normal
Component: Windows.Forms
AssignedTo: gert.driesen at pandora.be
ReportedBy: gert.driesen at pandora.be
QAContact: mono-bugs at ximian.com
TargetMilestone: ---
@@ -181,6 +181,67 @@
at MainForm.Main () [0x00000]
------- Additional Comments From gert.driesen at pandora.be 2007-08-28 15:49 -------
Created an attachment (id=19912)
Repro
+
+------- Additional Comments From andyhume32 at yahoo.co.uk 2007-08-29 07:48 -------
+In summary, a fix to this is to set also the Tag property at line
+438 in FolderBrowserDialog.cs, resulting in:
+ new_node.Tag = new_node.RealPath = fullPath;
+
+Tested only on Win32.
+
+
+It's unclear what the various properties on FBTreeNode (Text, Tag,
+RealPath) and FSEntry (Name, FullName, RealName) are used for,
+however printf-debugging shows the following for FBTreeNode:
+
+Node-- Text: 'Desktop',
+ Tag: 'Desktop://',
+ RealPath: 'D:\Documents and Settings\alan\Desktop'
+Node-- Text: 'Personal',
+ Tag: 'Personal://',
+ RealPath: 'D:\Documents and Settings\alan\My Documents'
+Node-- Text: 'My Computer',
+ Tag: 'MyComputer://',
+ RealPath: 'MyComputer://'
+Node-- Text: 'My Network',
+ Tag: 'MyNetwork://',
+ RealPath: 'MyNetwork://'
+Node-- Text: 'Dsktop-D',
+ Tag: 'D:\Documents and Settings\alan\Desktop\Dsktop-D',
+ RealPath: 'D:\Documents and Settings\alan\Desktop\Dsktop-D'
+Node-- Text: 'foo',
+ Tag: 'D:\Documents and Settings\alan\Desktop\foo',
+ RealPath: 'D:\Documents and Settings\alan\Desktop\foo'
+Node-- Text: 'Unused Desktop Shortcuts',
+ Tag: 'D:\Documents and Settings\alan\Desktop\Unused Desktop
+Shortcuts',
+ RealPath: 'D:\Documents and Settings\alan\Desktop\Unused Desktop
+Shortcuts'
+Node-- Text: 'foo',
+ Tag: 'D:\Documents and Settings\alan\Desktop\foo',
+ RealPath: 'D:\Documents and Settings\alan\Desktop\foo'
+Node-- Text: 'New Folder',
+ Tag: '',
+ RealPath: 'D:\Documents and Settings\alan\Desktop\foo\New Folder'
+
+So for a 'normal' folder, Tag is equal to RealPath.
+
+(((This can be seen by code inspection also. FillNode has:
+ FBTreeNode child = new FBTreeNode (fsentry.Name);
+ child.Tag = fsentry.FullName;
+ child.RealPath = fsentry.RealName == null ? fsentry.FullName :
+fsentry.RealName;
+ child.ImageIndex = NodeImageIndex (fsentry.FullName);
+
+So RealPath is FSEntry.FullName, unless FSEntry.RealName is set.
+
+And FileSystem has:
+ FSEntry GetDirectoryFSEntry (DirectoryInfo dirinfo,...)
+ {...
+ fsEntry.FullName = dirinfo.FullName;
+ ...}
+With no setting of RealName there. It is only set with the creation
+of special-folders in UnixFileSystem/WinFileSystem..ctor)).
More information about the mono-bugs
mailing list