Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 569110 - [Big Sur] SWT tables are not redraw correctly when viewer filter is applied
Summary: [Big Sur] SWT tables are not redraw correctly when viewer filter is applied
Status: CLOSED DUPLICATE of bug 567132
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.18   Edit
Hardware: PC Mac OS X
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-24 05:15 EST by Adrien Lachambre CLA
Modified: 2020-11-24 06:24 EST (History)
2 users (show)

See Also:


Attachments
Short record of this issue, from the main eclipse application (13.57 MB, video/quicktime)
2020-11-24 05:15 EST, Adrien Lachambre CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Adrien Lachambre CLA 2020-11-24 05:15:50 EST
Created attachment 284865 [details]
Short record of this issue, from the main eclipse application

Hi, 

Since the last MacOs update, I've been facing issues in my RCP application. 
Those issues are often related to SWT table / tree using StyledCellLabelProvider. 

Here is the current issue: 
I have a table using a StyledCellLabelProvider, a search bar above the table and a viewer filter to bind the search and the displayed content. 
Before Big Sur, the following peace of code was enough to refresh the table and apply the search: 

searchObservableValue.addValueChangeListener(e -> {
            Display.getDefault().asyncExec(() -> {
                String search = searchObservableValue.getValue().toLowerCase();
                fieldToFilter.clear();
                fieldsObservable.stream()
                        .filter(field -> !field.getName().toLowerCase().contains(search))
                        .forEach(fieldToFilter::add);
                viewer.refresh();
            });
        });

-> With the refresh(), the viewer filter is recomputed and apply the new values to filter. 

Now, with Big Sur, I also have to manually call a viewer.redraw(), else the viewer doesn't display the expected elements. 

Ive been able to reproduce the exacte same behavior in the default eclipse application (launch configuration wizard 2020-09, see attachment).


Since this issue only happens when the table / tree uses a StyledCellLabelProvider, I believe that this issue is probably related to this one: https://bugs.eclipse.org/bugs/show_bug.cgi?id=565969
Comment 1 Lakshmi P Shanmugam CLA 2020-11-24 06:24:10 EST
This is fixed in 4.18 M3 via Bug 567132 - https://download.eclipse.org/eclipse/downloads/drops4/S-4.18M3-202011190730/

*** This bug has been marked as a duplicate of bug 567132 ***