--- a/src/gtkui/gtk_ctrl.c Wed Jun 24 06:06:40 2009 +0000 +++ b/src/gtkui/gtk_ctrl.c Sat Jun 27 09:55:00 2009 +0000 @@ -292,9 +292,17 @@ } else { data->new_device = devclz->new_device(); } - has_config = data->new_device != NULL && data->new_device->get_config != NULL; + has_config = data->new_device != NULL && data->new_device->get_config != NULL && !MAPLE_IS_VMU(data->new_device); has_slots = data->new_device == NULL ? 0 : MAPLE_SLOTS(devclz); if( MAPLE_IS_VMU(data->new_device) ) { + for( i=0; idestroy(maple_data[i].new_device); + maple_data[i].new_device = NULL; + gtk_combo_box_set_active(maple_data[i].combo,0); + } + } MAPLE_SET_VMU_NAME(data->new_device,vmu_filename); } @@ -314,7 +322,7 @@ /* This is a little morally dubious... */ maple_slot_data_t subdata = data + MAPLE_DEVID(0,(i+1)); gtk_widget_set_sensitive(subdata->combo, i < has_slots ); - gtk_widget_set_sensitive(subdata->button, i < has_slots && subdata->new_device != NULL && subdata->new_device->get_config != NULL ); + gtk_widget_set_sensitive(subdata->button, i < has_slots && subdata->new_device != NULL && subdata->new_device->get_config != NULL && !MAPLE_IS_VMU(subdata->new_device) ); } } return TRUE;