Community
Participate
Working Groups
Created attachment 285575 [details] missing icons File -> Import -> wizards don't have icons in I20210216-2020, see attachment. Haven't checked if that is Linux only issue, if yes, bug 571166 could be the root cause.
Ok, this is the regression on GTK only from bug 571166 that tried to fix regression from bug 569691. The icons in rt.equinox.p2/bundles/org.eclipse.equinox.p2.ui.importexport/icons/wizban/install_wiz.png are 75 x 65 pixel big but scaled to 16x16 in the wizard list, so most likely some new code doesn't do that right...
Sravan, could you please check that? That one seem to be an opposite to bug 569691 - too big icons aren't shown anymore.
just curious could you try to change the icon from 75 x 65 to 75 x 75 if that fixes the issue?
(In reply to Christoph Laeubrich from comment #3) > just curious could you try to change the icon from 75 x 65 to 75 x 75 if > that fixes the issue? No, it doesn't. Note, I've created a bug 571246 for p2 to fix the icons, but that is unrelated to this one because p2 might be not the only client with "wrongly sized" icons.
org.eclipse.swt.graphics.Image.Image(Device, ImageFileNameProvider) constructor is involved. It calls Image.createFromPixbuf(int, long). I see that at least original image size is properly read from GDK. After all, it goes through TreeItem.setImage(int, Image) and calls ImageList.createPixbuf(Image). Also here I see that image dimensions are still OK. After that in ImageList.set(int, Image) we call ImageList.scaleSurface(Image, int, int) and here we are asked to re-scale the image to 16x16. I assume this is where things go wrong, and this code is also new for bug 569691. I assume that the code below in ImageList.scaleSurface() has an issue: // scaleX/ scaleY seem to be righ tin debugger Cairo.cairo_scale(cairo, scaleX, scaleY); Cairo.cairo_set_operator(cairo, Cairo.CAIRO_OPERATOR_SOURCE); Cairo.cairo_set_source_surface(cairo, image.surface, 0, 0); Cairo.cairo_paint(cairo); Cairo.cairo_destroy(cairo);
(In reply to Andrey Loskutov from comment #5) > I assume that the code below in ImageList.scaleSurface() has an issue: > > // scaleX/ scaleY seem to be righ tin debugger > Cairo.cairo_scale(cairo, scaleX, scaleY); > Cairo.cairo_set_operator(cairo, Cairo.CAIRO_OPERATOR_SOURCE); > Cairo.cairo_set_source_surface(cairo, image.surface, 0, 0); > Cairo.cairo_paint(cairo); > Cairo.cairo_destroy(cairo); But I see that other "scaled" icons are OK (both up/down scaled), using same code. So is that something special with p2 icons format?
We are still using pixbuf in case of tree and table. With earlier patches we are scaling surface and it is being used almost every where except for tree and table. The problem reported here is caused because of unscaled pixbufs in tree and table. Patch is coming shortly
New Gerrit change created: https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/176408
Merged to master now
Gerrit change https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/176408 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=66e6234a9235ce7715007c7b8ff9a21ebf4c6e54
Verified in Eclipse SDK Version: 2021-03 (4.19) Build id: I20210217-1800 OS: Linux, v.5.4.0-65-generic, x86_64 / gtk 3.24.20 Java version: 11.0.10
Thanks Sravan!!!