Thanks, it is fixed already, you can use the following override to fix it
Ext.grid.column.CommandColumn.override({
destroy : function () { var me = this,
view = this.grid.getView();
Ext.each(this.sharedMenus || [], function (menu) {
if (menu) {
menu.destroy();
}
});
delete this.shareMenus;
this.removeToolbars();
if (this.overToolbar) {
this.overToolbar.destroy();
delete this.overToolbar;
}
if (me.commands) {
if (me.overOnly) {
me.view.un("beforerefresh", me.moveToolbar, me);
me.view.un("beforeitemupdate", me.moveToolbar, me);
me.view.un("beforeitemremove", me.moveToolbar, me);
me.view.un("itemmouseenter", me.onItemMouseEnter, me);
me.view.un("itemmouseleave", me.onItemMouseLeave, me);
} else {
me.view.un("beforerefresh", me.removeToolbars, me);
me.view.un("refresh", me.insertToolbars, me);
me.view.un("beforeitemupdate", me.removeToolbar, me);
me.view.un("beforeitemremove", me.removeToolbar, me);
me.view.un("itemadd", me.itemAdded, me);
me.view.un("itemupdate", me.itemUpdated, me);
}
}
if (me.groupCommands) {
me.view.un("beforerefresh", me.removeToolbars, this);
me.view.un("refresh", me.insertGroupToolbars, this);
me.mun(me.grid, "resize", me.onGridResize, me);
me.view.un('groupclick', me.groupToolbarClick);
}
if (me.grid.isTree || me.grid.ownerLockable && me.grid.ownerLockable.isTree) {
me.grid.un("beforeitemcollapse", me.removeNodeToolbars, me._cnrScope);
me.grid.un("beforeitemmove", me.removeNodeToolbars, me._crScope);
}
this.callParent(arguments);
}
});