thenickdude / chickenpaint

An HTML5 Port of the ChibiPaint multi-layer Oekaki painting tool
GNU General Public License v3.0
120 stars 21 forks source link

The color picker is not displayed correctly and becomes white. #47

Closed satopian closed 2 years ago

satopian commented 2 years ago

Several ChickenPaint users on my site have reported that when trying to interact with the ChickenPaint color picker, the squares in the color picker turn white. The OS is win10, win8.1. The browser is Chrome. (Chrome ver.105) Users experiencing this issue use Norton antivirus software. Judging from the situation, I think it's probably a behavior due to Norton's false detection, but I also reported it. Also, even if the color display part of the color picker turns white, the operation is possible. The user can select a color without seeing the color picker.

I also had users test it on the chickenpaint-example. https://thenicdude.github.io/chickenpaint-example/ The result is the same, The problem that the display of the color picker turns white has been reproduced.

The problem started to occur around August 2022. Until then, there were no reports of problems.

image

satopian commented 2 years ago

image

I've found the condition that causes the problem. The OS is Windows 8.1, Windows 10, Windows 11. Chrome is ver105 or 106. For example, setting Chrome to the following will prevent the color picker from appearing:

"Use hardware acceleration when available"

ChickenPaint_Chrome106_bug

This is a GIF animation of the reproduction test.

I've reported it to this repository, but I think it's probably a bug in Google Chrome. The same Chromium-based browser, Microsoft Edge, does not have this issue.

thenickdude commented 2 years ago

It looks like this is due to this Chrome bug:

https://bugs.chromium.org/p/chromium/issues/detail?id=1350157

I can work around this by only using putImageData without doing any other drawing on top of it

thenickdude commented 2 years ago

This should be fixed now in 0.4.1!

satopian commented 2 years ago

@thenickdude Thank you very much. I tried using v0.4.1. The issue is now resolved.