Program: 145679
Project: 145679
Buggy source:
public void startEditing(final GridCell cell){
  if (getEditableGrid() != null && getEditableGrid().isAttached() && cell != null) {
    ColumnConfig<M,?> c=columnModel.getColumn(cell.getCol());
    M value=getEditableGrid().getStore().get(cell.getRow());
    if (value != null && getEditor(c) != null) {
      BeforeStartEditEvent<M> ce=new BeforeStartEditEvent<M>(cell);
      fireEvent(ce);
      if (ce.isCancelled()) {
        return;
      }
      IsField<?> field=getEditor(c);
      if (field instanceof PlatypusAdapterField) {
        PlatypusAdapterField<?> af=(PlatypusAdapterField<?>)field;
        af.setValue(null);
        af.setErrorSupport(null);
        af.show();
      }
 else       if (field instanceof Field<?>) {
        Field<?> ff=(Field<?>)field;
        ff.setValue(null,false,true);
        ff.setErrorSupport(null);
        ff.show();
      }
 else       throw new IllegalStateException(BAD_EDITOR_FIELD);
      if (getEditableGrid().getSelectionModel() instanceof PlatypusCellSelectionModel) {
        if (GXTLogConfiguration.loggingIsEnabled()) {
          logger.finest("String_Node_Str");
        }
        ((PlatypusCellSelectionModel<?>)getEditableGrid().getSelectionModel()).selectCell(cell.getRow(),cell.getCol(),true);
      }
      Element elem=getEditableGrid().getView().getCell(cell.getRow(),cell.getCol());
      elem.getFirstChildElement().getStyle().setVisibility(Style.Visibility.HIDDEN);
      cancelEditing();
      ignoreScroll=true;
      getEditableGrid().getView().ensureVisible(cell.getRow(),cell.getCol(),true);
      doStartEditing(cell);
    }
  }
}

Fixed version (ground truth):
public void startEditing(final GridCell cell){
  if (editable && getEditableGrid() != null && getEditableGrid().isAttached() && cell != null) {
    ColumnConfig<M,?> c=columnModel.getColumn(cell.getCol());
    M value=getEditableGrid().getStore().get(cell.getRow());
    if (value != null && getEditor(c) != null) {
      BeforeStartEditEvent<M> ce=new BeforeStartEditEvent<M>(cell);
      fireEvent(ce);
      if (ce.isCancelled()) {
        return;
      }
      IsField<?> field=getEditor(c);
      if (field instanceof PlatypusAdapterField) {
        PlatypusAdapterField<?> af=(PlatypusAdapterField<?>)field;
        af.setValue(null);
        af.setErrorSupport(null);
        af.show();
      }
 else       if (field instanceof Field<?>) {
        Field<?> ff=(Field<?>)field;
        ff.setValue(null,false,true);
        ff.setErrorSupport(null);
        ff.show();
      }
 else       throw new IllegalStateException(BAD_EDITOR_FIELD);
      if (getEditableGrid().getSelectionModel() instanceof PlatypusCellSelectionModel) {
        if (GXTLogConfiguration.loggingIsEnabled()) {
          logger.finest("String_Node_Str");
        }
        ((PlatypusCellSelectionModel<?>)getEditableGrid().getSelectionModel()).selectCell(cell.getRow(),cell.getCol(),true);
      }
      Element elem=getEditableGrid().getView().getCell(cell.getRow(),cell.getCol());
      elem.getFirstChildElement().getStyle().setVisibility(Style.Visibility.HIDDEN);
      cancelEditing();
      ignoreScroll=true;
      getEditableGrid().getView().ensureVisible(cell.getRow(),cell.getCol(),true);
      doStartEditing(cell);
    }
  }
}