Index: lat/ViewPluginManager.cs =================================================================== --- lat/ViewPluginManager.cs (revision 11) +++ lat/ViewPluginManager.cs (revision 14) @@ -253,8 +253,21 @@ if (!di.Exists) di.Create (); + DirectoryInfo dir = null; + +#if DEBUG + // Load any plugins in the plugins directory + // relative to the executing path. + // This is for debug purposes only. + // -- JA 19/10/2008 + Assembly exeAsm = Assembly.GetExecutingAssembly(); + string runLocation = Path.GetDirectoryName(exeAsm.Location); + dir = new DirectoryInfo(runLocation); + foreach(FileInfo fi in dir.GetFiles("*.dll")) + LoadPluginsFromFile(fi.FullName); +#endif // Load any plugins in sys dir - DirectoryInfo dir = new System.IO.DirectoryInfo (Defines.SYS_PLUGIN_DIR); + dir = new System.IO.DirectoryInfo (Defines.SYS_PLUGIN_DIR); if (dir.Exists) foreach (FileInfo f in dir.GetFiles("*.dll")) LoadPluginsFromFile (f.FullName); Index: lat/ConnectionManager.cs =================================================================== --- lat/ConnectionManager.cs (revision 11) +++ lat/ConnectionManager.cs (revision 14) @@ -94,7 +94,7 @@ } catch (Exception e) { Log.Debug (e); - throw e; + throw; } } Index: lat/plugins/PosixCoreViews/NewUserViewDialog.cs =================================================================== --- lat/plugins/PosixCoreViews/NewUserViewDialog.cs (revision 11) +++ lat/plugins/PosixCoreViews/NewUserViewDialog.cs (revision 14) @@ -326,6 +326,9 @@ if (name == null) return null; + if (!_allGroups.ContainsKey(name)) + return null; + LdapEntry le = (LdapEntry) _allGroups [name]; LdapAttribute attr = le.getAttribute ("gidNumber"); @@ -343,7 +346,9 @@ if (primaryGroupComboBox.GetActiveIter (out iter)) { string pg = (string) primaryGroupComboBox.Model.GetValue (iter, 0); - aset.Add (new LdapAttribute ("gidNumber", getGidNumber(pg))); + string gid = getGidNumber(pg); + if (gid != null) + aset.Add (new LdapAttribute ("gidNumber", gid)); } aset.Add (new LdapAttribute ("givenName", firstNameEntry.Text)); Index: lat/AttributeEditorWidget.cs =================================================================== --- lat/AttributeEditorWidget.cs (revision 11) +++ lat/AttributeEditorWidget.cs (revision 14) @@ -555,6 +555,9 @@ foreach (string s in dlg.ObjectClasses) { string[] req = conn.Data.GetRequiredAttrs (s); store.AppendValues ("objectClass", s); + + if (req == null) + continue; foreach (string r in req) { if (allAttrs.Contains (r))