eclipse/nebula

Grid cells not showing on Mac if setRowHeaderVisible(true) called before creating columns

Phillipus opened this issue · 4 comments

This is a problem again on Mac. See #190

macOS 14.4 Sonoma
Eclipse SWT 3.125.0.v20240227-1638

On Mac run GridViewerSnippet1

It looks like this:

Screenshot 2024-03-13 at 15 35 21

Now move this line to line 189 so it is called after creating the GridColumns:

And it is OK:

Screenshot 2024-03-13 at 15 37 30

As an experiment, if I remove this line it works OK:

if (IS_MAC && availableVisibleWidthForColumns == 1 && parent.getClientArea().height == 1) {

The condition is not met because parent.getClientArea().height is returning 0.

Hello Phil

If you change the line 425 by this one is it better ?

if (IS_MAC && availableVisibleWidthForColumns == 1 && (parent.getClientArea().height == 1 || parent.getClientArea().height == 0))

(I think that the behaviour depends on the version of MacOs)

If you change the line 425 by this one is it better ?

Yes, because parent.getClientArea().height is returning 0.

(I think that the behaviour depends on the version of MacOs)

I think you may be right because this used to work, I think.

Bug fixed in Nebula 3.2.0