[Mono-bugs] [Bug 360666] PropertyGrid: messagebox infinite loop when unsupported type

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Feb 14 08:46:29 EST 2008


https://bugzilla.novell.com/show_bug.cgi?id=360666

User contact at i-nz.net added comment
https://bugzilla.novell.com/show_bug.cgi?id=360666#c5





--- Comment #5 from Ivan Zlatev <contact at i-nz.net>  2008-02-14 06:46:29 MST ---
Gert this is not to do with this bug(In reply to comment #4 from Gert Driesen)
> With this kind of bug number, I can't resist playing devil:
> 
> If the editor cannot be created, then we consider the item read-only while MS
> does not.
> 
> To reproduce, see gert/interactive/bug360666 in SVN.
> 

MS falls back to the ICollection editor where as we throw and fail badly
After a quick look the issue is:

1) TypeDescriptor.GetTypeFromName

 * should not throw if the type cannot be found and everything that uses it
should do a NR check
 * it shouldn't be internal. The only use is in PropertyDescriptor.GetEditor
and that should call TypeDescriptor.GetEditor and not duplicate code.

2) TypeDescriptor.GetEditor () is broken because FindEditorInTable searches for
editors associated only with the interfaces that the type implements. E.g it
will fetch the ICollection Editor for List : ICollection, but not CustomList :
List, because it doesn't check the base types of CustomList.

I wouldn't mind if you cook me up some tests for 2) for MS's behavior to
determine the order it crawls the type chain and at what point (if any) they
check for editors associated with the interfaces implemented by the current
type/base types. My guess is they first check all base types for an editor and
then iterate once more over to check all implemented interfaces.


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list