Hello all,

Bug: NSMatrix does not draw at all if isFlipped == NO
Solution: In NSMatrix.m replace

- (void)drawRect:(NSRect)rect
{
...
    /* Draw the cells within the drawing rectangle. */
     for (i = row1; i <= row2 && i < _numRows; i++)
        for (j = col1; j <= col2 && j < _numCols; j++)
          {
           NSLog(@"_drawCellAtRow %d %d", i, j);
           [self _drawCellAtRow: i column: j];
          }
...
}

with

- (void)drawRect:(NSRect)rect
{
...
 /* Draw the cells within the drawing rectangle. */
  if (row1 > row2)
    {
     for (i = row1; i >= row2 && i < _numRows; i--)
        for (j = col1; j <= col2 && j < _numCols; j++)
          {
           NSLog(@"_drawCellAtRow %d %d", i, j);
           [self _drawCellAtRow: i column: j];
          }
    }
  else
    {
     for (i = row1; i <= row2 && i < _numRows; i++)
        for (j = col1; j <= col2 && j < _numCols; j++)
          {
           NSLog(@"_drawCellAtRow %d %d", i, j);
           [self _drawCellAtRow: i column: j];
          }
    }
...
}

Don't forget to apply the same patch to Etoile.

Regards,

 Andreas



_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to