Changeset 2029


Ignore:
Timestamp:
5/3/2010 2:52:46 PM (4 years ago)
Author:
lowjoel
Message:

Fixed a few NullReferenceExceptions? when dealing with targets that don't have settings, also, show a message that an erasure target doesn't have any settings for the user to define when it doesn't return an IErasureTargetConfigurer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/eraser/Eraser/TaskDataSelectionForm.cs

    r2024 r2029  
    9393                ErasureType type = (ErasureType)typeCmb.SelectedItem; 
    9494                ErasureTarget result = type.Target; 
    95                 type.Configurer.SaveTo(result); 
     95                if (type.Configurer != null) 
     96                    type.Configurer.SaveTo(result); 
    9697                result.Method = (ErasureMethod)methodCmb.SelectedItem; 
    9798 
     
    110111                    if (type.Target.GetType() == value.GetType()) 
    111112                    { 
    112                         typeCmb.SelectedItem = type; 
    113  
    114113                        type.Target = value; 
    115114                        type.Configurer = value.Configurer; 
    116115                        if (type.Configurer != null) 
    117116                            type.Configurer.LoadFrom(value); 
     117 
     118                        typeCmb.SelectedItem = type; 
     119                        typeCmb_SelectedIndexChanged(typeCmb, EventArgs.Empty); 
    118120                        break; 
    119121                    } 
     
    134136                type.Configurer = type.Target.Configurer; 
    135137                if (type.Configurer == null) 
     138                { 
     139                    Label label = new Label(); 
     140                    label.Text = S._("(This erasure type does not have any settings to define.)"); 
     141                    label.Dock = DockStyle.Fill; 
     142                    typeSettingsPnl.Controls.Add(label); 
    136143                    return; 
     144                } 
    137145            } 
    138146 
     
    158166                    "not support unused disk space erasures.")); 
    159167            } 
    160             else if (type.Configurer.SaveTo(type.Target)) 
     168            else if (type.Configurer == null || type.Configurer.SaveTo(type.Target)) 
    161169            { 
    162170                errorProvider.Clear(); 
Note: See TracChangeset for help on using the changeset viewer.