Bug 497082

Summary: Diagrams container rendering issues while moving
Product: [Modeling] Sirius Reporter: Axel RICHARD <axel.richard>
Component: DiagramAssignee: Project Inbox <sirius.diagram-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3 CC: laurent.fasani, pierre-charles.david
Version: 4.0.0Keywords: triaged
Target Milestone: ---   
Hardware: PC   
OS: Windows All   
Whiteboard:
Attachments:
Description Flags
Sirius-Rendering.png
none
Drap feedback under Linux/GTK2
none
Drap feedback under Linux/GTK3
none
VSP none

Description Axel RICHARD CLA 2016-06-30 07:36:38 EDT
Created attachment 262828 [details]
Sirius-Rendering.png

With Eclipse Neon and sirius 4.0.0, when a container mapping with gradient color is moved on a diagram, it causes rendering issues.

The problem appears under Windows but not under macOS.

See image attached.
Comment 1 Pierre-Charles David CLA 2016-06-30 08:52:55 EDT
Created attachment 262829 [details]
Drap feedback under Linux/GTK2
Comment 2 Pierre-Charles David CLA 2016-06-30 08:53:14 EDT
Created attachment 262830 [details]
Drap feedback under Linux/GTK3
Comment 3 Pierre-Charles David CLA 2016-06-30 08:53:53 EDT
Can't reproduce under Linux, with either GTK2 or GTK3 (see attached screenshots). This seems specific to Windows.
Comment 4 Laurent Fasani CLA 2016-06-30 10:20:55 EDT
Created attachment 262832 [details]
VSP
Comment 5 Laurent Fasani CLA 2016-06-30 10:21:40 EDT
Steps to reproduce:
* import the attached VSP into your workspace
* create a new modeling project with an ecore containing a EPackage with an EClass
* create a diagram and move the EClass container -> bad feedback
Comment 6 Pierre-Charles David CLA 2016-09-08 08:57:02 EDT
Some pointers for if/when we tackle this one:
* The actual figure used seems to be created by org.eclipse.draw2d.FigureUtilities.makeGhostShape(Shape).
* Unfortunately this is a static method whose invocation is hard-coded. At first glance it looks like we would need to override methods in many figures to replace it it with something else (which is still to be determined).