Scirra / Construct-bugs

Public bug report submissions for Construct 3 and Construct Animate. Please read the guidelines then click the 'Issues' tab to get started.
https://www.construct.net
107 stars 83 forks source link

pasting transparent images in "animations editor" in firefox, transparent areas fill with black #8111

Closed ravengleam closed 3 weeks ago

ravengleam commented 1 month ago

Problem description

when pasting an image with transparency in the "animations editor" in firefox, the transparent sections of the image will fill with black pixels.

Attach a .c3p

blankproject.zip

Steps to reproduce

  1. open attached project or make a new one in firefox browser
  2. create new sprite
  3. open sprite in animations editor
  4. ctrl+a to copy the image
  5. ctrl+v to paste the image
  6. observe that canvas has filled with black

Observed result

the canvas has filled with black pixels when previously all pixels were transparent

Expected result

pixels should have remained transparent

More details

Affected browsers/platforms: Firefox

First affected release: r397 stable

System details

View details Platform information Product: Construct 3 r397 (stable) Browser: Firefox 127.0 Browser engine: Gecko Context: browser Operating system: Windows 10 Device type: desktop Device pixel ratio: 1 Logical CPU cores: 8 Approx. device memory: (unavailable) User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0 Language setting: en-US Local storage Storage quota (approx): 10 gb Storage usage (approx): 24 mb (0.2%) Persistant storage: No Browser support notes This list contains missing features that are not required, but could improve performance or user experience if supported. Rendering multiple on-screen Layout Views is slow in Firefox due to [bug 1163426](https://bugzilla.mozilla.org/show_bug.cgi?id=1163426) The Clipboard API is not supported. Some clipboard features may be unavailable. Determining input device capabilities is not supported. WebGL information Version string: WebGL 2.0 Numeric version: 2 Supports NPOT textures: yes Supports GPU profiling: no Supports highp precision: yes Vendor: Google Inc. (Intel) Renderer: ANGLE (Intel, Intel(R) HD Graphics Direct3D11 vs_5_0 ps_5_0), or similar Major performance caveat: no Maximum texture size: 16384 Point size range: 1 to 1024 Extensions: EXT_color_buffer_float EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic OES_draw_buffers_indexed OES_texture_float_linear OVR_multiview2 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_provoking_vertex Audio information System sample rate: 48000 Hz Output channels: 2 Output interpretation: speakers Supported decode formats: WebM Opus (audio/webm;codecs=opus) WebM Vorbis (audio/webm;codecs=vorbis) MPEG-4 Opus (audio/mp4;codecs=opus) MPEG-4 AAC (audio/mp4;codecs=mp4a.40.2) MP3 (audio/mpeg) FLAC (audio/flac) PCM WAV (audio/wav;codecs=1) Supported encode formats: WebM Opus (audio/webm;codecs=opus) Video information Supported decode formats: WebM AV1 (video/webm;codecs=av01.0.00M.08) WebM VP9 (video/webm;codecs=vp9) WebM VP8 (video/webm;codecs=vp8) MPEG-4 AV1 (video/mp4;codecs=av01.0.00M.08) MPEG-4 VP9 (video/mp4;codecs=vp9) MPEG-4 H.264 (video/mp4;codecs=avc1.420034) Supported encode formats: WebM VP8 (video/webm;codecs=vp8)
DiegoScirra commented 1 month ago

I think something changed in the latest versions of Firefox. I tried it out with version 121.0 and it was working properly, after updating to 128.0 what you describe started happening.

DiegoScirra commented 1 month ago

Just found out that version 127.0 is the first one to support the asynchronous Clipboard API, previously C3 was falling back to just saving image data in memory to simulate a clipboard. Now the image is being saved to the real system clipboard and it looks like the alpha information is lost in the process.

DiegoScirra commented 3 weeks ago

I looked a little bit more into this and I found there is an open issue in Mozilla's tracker.

https://bugzilla.mozilla.org/show_bug.cgi?id=460969

The report is 16 years old, but it has seen some activity recently so I guess we just have to wait. Closing this as there isn't much we can do about it.