JDK-8090003 : Color change after drag and drop.
  • Type: Bug
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: 8,9
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2013-02-07
  • Updated: 2018-09-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Relates :  
Relates :  
Description
To reproduce:
1. Run the app. (Before runnung the app put attached image to the project dir)
2. Drag from source to destination.
3. Open Mac Digital Color Meter and check the difference between color in J letter for example.

Another way is to click "Screen shot" button
and check images with prefix AWT (in project dir in img folder),
because
images made by standard javafx means don't differ.

This behavior happens only when dragged image is rendered on a separate stage.
When the image is rendered after dnd on the same stage as the original it doesn't change color.
Comments
Removed my comment with matching rules, because that bug looks like not reproducible anymore (8u112b10, MacOS 11.12).
16-09-2016

This is a problem with color correction, either during rendering or readback, that affects some systems depending on the color profile used. Visually, the results look fine, but the delta color values are more than the test tolerance allows. It may be important for testing, but we are requesting deferral since it is not an important issue that will affect users of FX.
04-11-2013

At one point we found that some tests would fail depending on the color profile selected on the mac - i.e. during some operations the mac would do implicit color correction on images. I'm guessing the same thing probably happens during a drag and drop operation? Have we tried running these tests under different color profiles?
01-11-2013

keywords: test-ignore
27-08-2013

We have double conversion here: from Image to Pixels and from Pixels to native. Rounding errors at the former step are possible because of color profile corrections, in this case it's a Glass issue, otherwise the errors are caused by com.sun.prism.Image code.
21-08-2013

Without looking at it more closely, I suspect this is a rounding error caused by the conversion. How much does it deviate from the expected value? In any case, this seems like a not-serious problem, so we may defer it out of FX 8.
10-08-2013

The important code is in QuantumClipboard. Placing image on dragboard: method placeImage(): com.sun.prism.Image prismImage = (com.sun.prism.Image)image.impl_getPlatformImage(); Pixels pixels = PixelUtils.imageToPixels(prismImage); Getting image from dragboard: method convertObjectToImage(): com.sun.prism.Image platformImage = PixelUtils.pixelsToImage( pixels); ImageLoader il = Toolkit.getToolkit().loadPlatformImage( platformImage); return Image.impl_fromPlatformImage(il);
17-07-2013

Pavel: can you take a look at this? We are interested in knowing how the image is transferred: Is the image converted to a Mac-specific format? Is a screen shot being taken? Or something else?
16-07-2013

RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromButton Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromCheckBoxe Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromChoiceBoxe Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromCirle Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromColorPicker Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromComboBoxe Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromHyperlink Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromImageView Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromLabel Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromLine Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromListView Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPagination Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPasswordField Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPressedToggleButton Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromProgressBar Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromProgressIndicator Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromRadioButton Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromScrollBar Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromScrollPane Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSeparator Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSlider Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSplitMenuButton Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSplitPane Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTabPane Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTableView Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTextField Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromToolbar Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTreeTableView Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTreeView Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromUnPressedToggleButton Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds RULE ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromVBox Exception org.jemmy.TimeoutExpiredException: State 'Control having expected image' has not been reached in ... milliseconds
26-06-2013

Affected tests: ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromButtontoPagination ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromButtontoSeparator ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromButtontoSplitMenuButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromButtontoVBox ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromCheckBoxetoChoiceBoxe ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromCheckBoxetoLabel ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromCheckBoxetoLine ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromCheckBoxetoUnPressedToggleButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromChoiceBoxetoAccordion ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromChoiceBoxetoListView ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromChoiceBoxetoPasswordField ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromCirletoColorPicker ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromCirletoScrollBar ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromCirletoTabPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromColorPickertoCheckBoxe ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromColorPickertoScrollPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromColorPickertoTitledPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromComboBoxetoColorPicker ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromComboBoxetoScrollBar ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromComboBoxetoTabPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromHyperlinktoColorPicker ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromHyperlinktoScrollBar ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromHyperlinktoTabPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromLabeltoAccordion ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromLabeltoListView ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromLabeltoPasswordField ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromLinetoAccordion ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromLinetoListView ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromLinetoPasswordField ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromListViewtoProgressBar ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromListViewtoTextField ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromListViewtoTreeView ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPaginationtoButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPaginationtoPressedToggleButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPaginationtoSlider ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPaginationtoSplitPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPasswordFieldtoProgressBar ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPasswordFieldtoTextField ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPasswordFieldtoTreeView ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPressedToggleButtontoPagination ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPressedToggleButtontoSeparator ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPressedToggleButtontoSplitMenuButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromPressedToggleButtontoVBox ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromProgressBartoCirle ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromProgressBartoComboBoxe ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromProgressBartoHyperlink ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromProgressBartoToolbar ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromProgressIndicatortoProgressIndicator ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromProgressIndicatortoRadioButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromProgressIndicatortoTableView ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromRadioButtontoProgressIndicator ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromRadioButtontoRadioButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromRadioButtontoTableView ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromScrollBartoCheckBoxe ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromScrollBartoScrollPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromScrollBartoTitledPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromScrollPanetoChoiceBoxe ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromScrollPanetoLabel ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromScrollPanetoLine ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromScrollPanetoUnPressedToggleButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSeparatortoButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSeparatortoPressedToggleButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSeparatortoSlider ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSeparatortoSplitPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSlidertoPagination ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSlidertoSeparator ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSlidertoSplitMenuButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSlidertoVBox ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSplitMenuButtontoButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSplitMenuButtontoPressedToggleButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSplitMenuButtontoSlider ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSplitMenuButtontoSplitPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSplitPanetoPagination ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSplitPanetoSeparator ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSplitPanetoSplitMenuButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromSplitPanetoVBox ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTabPanetoCheckBoxe ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTabPanetoScrollPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTabPanetoTitledPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTableViewtoProgressIndicator ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTableViewtoRadioButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTableViewtoTableView ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTextFieldtoCirle ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTextFieldtoComboBoxe ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTextFieldtoHyperlink ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTextFieldtoToolbar ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTitledPanetoChoiceBoxe ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTitledPanetoLabel ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTitledPanetoLine ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTitledPanetoUnPressedToggleButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromToolbartoColorPicker ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromToolbartoScrollBar ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromToolbartoTabPane ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTreeViewtoCirle ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTreeViewtoComboBoxe ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTreeViewtoHyperlink ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromTreeViewtoToolbar ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromUnPressedToggleButtontoAccordion ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromUnPressedToggleButtontoListView ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromUnPressedToggleButtontoPasswordField ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromVBoxtoButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromVBoxtoPressedToggleButton ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromVBoxtoSlider ControlsAutomatedTestSuite/javafx/draganddrop/DragDropWithControlsTest/fromVBoxtoSplitPane
07-02-2013