https://bz.apache.org/bugzilla/show_bug.cgi?id=68230

            Bug ID: 68230
           Summary: A region overlap issue in RowShifter
           Product: POI
           Version: 5.3.x-dev
          Hardware: PC
            Status: NEW
          Severity: normal
          Priority: P2
         Component: SS Common
          Assignee: dev@poi.apache.org
          Reporter: zhong...@pku.org.cn
  Target Milestone: ---

NPOI fixed a region overlap issue:
https://github.com/nissl-lab/npoi/commit/6719bff7e54ce724d07f57de4a7e19ddc36c0a07

The buggy code is still in the trunk of POI. For example, POI fixed the
following method: 
public List<CellRangeAddress> ShiftMergedRegions(int startRow, int endRow, int
n
{...
  if (removalNeeded(merged, startRow, endRow, n ))
  ...
}
The fixed code is as follows:

public List<CellRangeAddress> ShiftMergedRegions(int startRow, int endRow, int
n
{...
  var lastCol=sheet.GetRow(startRow) != null ?
sheet.GetRow(startRow).LastCellNum : sheet.GetRow(endRow) != null ?
sheet.GetRow(endRow).LastCellNum : 0;
                if (removalNeeded(merged, startRow, endRow, n, lastCol ))
  ...
}

In the trunk, the POI code is as follows:
 public List<CellRangeAddress> shiftMergedRegions(int startRow, int endRow, int
n) {...
   if(removalNeeded(merged, startRow, endRow, n)) {
...}

It is quite similar to the buggy NPOI code. There are also other modifications. 
POI can have a similar bug when handling overlapped regions.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org

Reply via email to