RFR: 8271398: GTK3 drag view image swaps red and blue color channels [v3]

Pankaj Bansal pbansal at openjdk.java.net
Tue Aug 17 13:15:26 UTC 2021


On Sun, 15 Aug 2021 21:18:51 GMT, Thiago Milczarek Sayao <tsayao at openjdk.org> wrote:

>> It seems raw images need to be converted BRGA -> RGBA.
>> 
>> It was being converted on gtk2 code path, but gtk3 only uses `gtk_drag_set_icon_pixbuf`.
>> 
>> I have simplified the gtk2 `DragView::View::expose` to paint with `gdk_cairo_set_source_pixbuf` (that is available since Gtk 2.8) because the old way was somehow converting  again.
>> 
>> Run the issue sample with `-Djdk.gtk.version=2` to test the gtk2 code path.
>> 
>> To test:
>> 
>> `./gradlew apps`
>> 
>> 
>> java @build/run.args -cp apps/toys/DragDrop/dist/DragDrop.jar dragdrop.DragDropWithControls
>> java @build/run.args -cp apps/toys/DragDrop/dist/DragDrop.jar dragdrop.DragDropColor 
>> 
>> java -Djdk.gtk.version=2 @build/run.args -cp apps/toys/DragDrop/dist/DragDrop.jar dragdrop.DragDropWithControls
>> java -Djdk.gtk.version=2 @build/run.args -cp apps/toys/DragDrop/dist/DragDrop.jar dragdrop.DragDropColor
>
> Thiago Milczarek Sayao has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Change test to manual

The fix works fine and the test passes on all platforms. I have given minor comments about the test.

tests/manual/dnd/DndTestDragViewRawImage.java line 59:

> 57:         });
> 58: 
> 59:         Label label = new Label("Drag image should match source colors when dragged");

Could you please make the instructions a bit more clear?

tests/manual/dnd/DndTestDragViewRawImage.java line 83:

> 81:         return SwingFXUtils.toFXImage(image, null);
> 82:     }
> 83: }

There is no newline at the file end

-------------

PR: https://git.openjdk.java.net/jfx/pull/599


More information about the openjfx-dev mailing list