@@ -1051,25 +1051,22 @@ private void _setImage (Image image) {
10511051			surface  = imageList .getSurface  (imageIndex );
10521052		}
10531053		if  (GTK .GTK4 ) {
1054+ 			long  pixbuf  = ImageList .createPixbuf (image );
1055+ 			long  texture  = GDK .gdk_texture_new_for_pixbuf (pixbuf );
1056+ 			OS .g_object_unref (pixbuf );
10541057			if  (OS .SWT_PADDED_MENU_ITEMS  && imageHandle  != 0 ) {
1055- 				long  pixbuf  = ImageList .createPixbuf (image );
1056- 				long  texture  = GDK .gdk_texture_new_for_pixbuf (pixbuf );
1057- 				OS .g_object_unref (pixbuf );
10581058				GTK4 .gtk_image_set_from_paintable (imageHandle , texture );
10591059			} else  {
10601060				if  (imageHandle  == 0 ) {
1061- 					long  pixbuf  = ImageList .createPixbuf (image );
1062- 					long  texture  = GDK .gdk_texture_new_for_pixbuf (pixbuf );
1063- 					OS .g_object_unref (pixbuf );
1064- 					GTK4 .gtk_image_new_from_paintable (texture );
1061+ 					imageHandle  = GTK4 .gtk_image_new_from_paintable (texture );
10651062					if  (imageHandle  == 0 ) error (SWT .ERROR_NO_HANDLES );
1063+ 					if (boxHandle  == 0 ) {
1064+ 						boxHandle  = gtk_box_new  (GTK .GTK_ORIENTATION_HORIZONTAL , false , 6 );
1065+ 					}
10661066
10671067					GTK4 .gtk_box_append (boxHandle , imageHandle );
10681068					GTK4 .gtk_box_reorder_child_after (boxHandle , imageHandle , 0 );
10691069				} else  {
1070- 					long  pixbuf  = ImageList .createPixbuf (image );
1071- 					long  texture  = GDK .gdk_texture_new_for_pixbuf (pixbuf );
1072- 					OS .g_object_unref (pixbuf );
10731070					GTK4 .gtk_image_set_from_paintable (imageHandle , texture );
10741071				}
10751072			}
0 commit comments