Author: miguel
Date: 2007-11-09 17:12:55 -0500 (Fri, 09 Nov 2007)
New Revision: 89347

Modified:
   trunk/moon/plugin/plugin-class.cpp
Log:
Handle nulls

Modified: trunk/moon/plugin/plugin-class.cpp
===================================================================
--- trunk/moon/plugin/plugin-class.cpp  2007-11-09 21:24:04 UTC (rev 89346)
+++ trunk/moon/plugin/plugin-class.cpp  2007-11-09 22:12:55 UTC (rev 89347)
@@ -1751,7 +1751,19 @@
                        strvalue = g_strdup (NPVARIANT_TO_STRING 
(*value).utf8characters);
                }
                else if (NPVARIANT_IS_NULL (*value)){
-                       DEBUGWARN ("unhandled variant type NULL in 
do.set_property for (%s::%s)", dob->GetTypeName (), p->name);
+                       DEBUGMSG ("Setting NULL for (%s::%s)", dob->GetTypeName 
(), p->name);
+                       if (p->value_type >= Type::DEPENDENCY_OBJECT){
+                               DependencyObject *val = NULL;
+                               
+                               dob->SetValue (p, Value (val));
+                       } else if (p->value_type == Type::STRING) {
+                               char *val = NULL;
+                               
+                               dob->SetValue (p, Value (val));
+                       } else
+                               DEBUGWARN ("Setting NULL for unsupported type 
(%s::%s)", dob->GetTypeName (), p->name);
+                               
+                               
                        return true;
                }
                else if (NPVARIANT_IS_VOID (*value)){

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to