void (MouseEvent e) { if (myLinkListener.onClick(e, e.getClickCount())) { return; } int c = columnAtPoint(e.getPoint()); VcsLogColumn<?> column = getVcsLogColumn(c); if (column == null) return; if (e.getClickCount() == 2) { // when we reset column width, commit column eats all the remaining space // (or gives the required space) // so it is logical that we reset column width by right border if it is on the left of the commit column // and by the left border otherwise int commitColumnIndex = getColumnViewIndex(Commit.INSTANCE); boolean useLeftBorder = c > commitColumnIndex; if ((useLeftBorder ? isOnLeftBorder(e, c) : isOnRightBorder(e, c)) && column.isDynamic()) { resetColumnWidth(column); } else { // user may have clicked just outside of the border // in that case, c is not the column we are looking for int c2 = columnAtPoint(new Point(e.getPoint().x + (useLeftBorder ? 1 : -1) * JBUIScale.scale(BORDER_THICKNESS), e.getPoint().y)); VcsLogColumn<?> column2 = getVcsLogColumn(c2); if (column2 != null && (useLeftBorder ? isOnLeftBorder(e, c2) : isOnRightBorder(e, c2)) && column2.isDynamic()) { resetColumnWidth(column2); } } } int row = rowAtPoint(e.getPoint()); if ((row >= 0 && row < getRowCount()) && e.getClickCount() == 1) { VcsLogCellController controller = getController(column); if (controller != null) { Cursor cursor = controller.performMouseClick(row, e); handleCursor(cursor); } } }