Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 353459

Summary: RulerComposite has redraw problems on Mac OS X Cocoa
Product: [Tools] GEF Reporter: Peter Severin <peter>
Component: GEF-Legacy GEF (MVC)Assignee: gef-inbox <gef-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: major    
Priority: P3 CC: hudsonr, nyssen
Version: unspecified   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X   
Whiteboard:
Bug Depends on: 340054    
Bug Blocks:    
Attachments:
Description Flags
Screenshot of ruler redraw problem none

Description Peter Severin CLA 2011-07-31 00:45:29 EDT
Build Identifier: 

This issue can be reproduced with logic editor example.

1. Edit a new .logic file
2. Enable rulers
3. Open the Palette View to switch from flyout palette to external one
4. One of the rulers becomes gray and does not redraw

Tested with Eclipse 3.6 and 3.7.

Reproducible: Always
Comment 1 Peter Severin CLA 2011-07-31 00:46:05 EDT
FYI this does not happen with Mac OS X Carbon
Comment 2 Peter Severin CLA 2011-07-31 00:46:52 EDT
Created attachment 200626 [details]
Screenshot of ruler redraw problem

Here's a screenshot that shows the problem.
Comment 3 Peter Severin CLA 2011-08-02 01:57:12 EDT
This problem wouldn't bother me much but in my case I am extending the editor with a bar at the bottom that appears and disappears as a result of a very common user action. This makes this bug very annoying. The only workaround I have found for now is to hide/show rulers by toggling the RulerComposite.PROPERTY_RULER_VISIBILITY property off and on. It fixes the issue but there is also makes the editor flash which is annoying.
Comment 4 Alexander Nyßen CLA 2011-09-27 14:09:40 EDT
This can also simply be reproduced with resizing the palette. I think it could be something related to bug #65892. I will have to investigate this.
Comment 5 Randy Hudson CLA 2011-09-27 14:47:12 EDT
In general, bugs that only appear on one platform usually SWT bugs.  In this case, bug 340054.
Comment 6 Alexander Nyßen CLA 2011-09-27 17:22:31 EDT
The RulerViewers paint fine on Mac and Windows in case the layout of the RulerComposite, which is performed as a response to an SWT.Resize, is executed asynchronously (wrapping the layout in line 339 of RulerComposite into a Runnable and executing it via Display#asyncExec()). However, this then causes redraw problems on the underlying diagram viewer, which does not repaint itself as a response to a resize event (as it uses a FigureCanvas with SWT.NO_REDRAW_RESIZE) style, but only as a response to the RulerComposite's layouting. As such, this is no valid workaround either (Pratik added a @TODO to depict this).
Comment 7 Alexander Nyßen CLA 2011-10-17 15:39:27 EDT
Resolving as duplicate of bug #341445, where I had initially captured the problem.

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