mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-13 19:49:51 +01:00
Make animated image playback speed match browser (Firefox and Chrome) behaviour (#3506)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com> Co-authored-by: Paweł <zneix@zneix.eu>
This commit is contained in:
parent
499d06fcd1
commit
e742860af7
|
@ -3,6 +3,7 @@
|
||||||
## Unversioned
|
## Unversioned
|
||||||
|
|
||||||
- Major: Added customizable shortcuts. (#2340)
|
- Major: Added customizable shortcuts. (#2340)
|
||||||
|
- Minor: Make animated emote playback speed match browser (Firefox and Chrome) behaviour. (#3506)
|
||||||
- Minor: Added middle click split to open in browser (#3356)
|
- Minor: Added middle click split to open in browser (#3356)
|
||||||
- Minor: Added new search predicate to filter for messages matching a regex (#3282)
|
- Minor: Added new search predicate to filter for messages matching a regex (#3282)
|
||||||
- Minor: Add `{channel.name}`, `{channel.id}`, `{stream.game}`, `{stream.title}`, `{my.id}`, `{my.name}` placeholders for commands (#3155)
|
- Minor: Add `{channel.name}`, `{channel.id}`, `{stream.game}`, `{stream.title}`, `{my.id}`, `{my.name}` placeholders for commands (#3155)
|
||||||
|
|
|
@ -152,8 +152,15 @@ namespace detail {
|
||||||
if (reader.read(&image))
|
if (reader.read(&image))
|
||||||
{
|
{
|
||||||
QPixmap::fromImage(image);
|
QPixmap::fromImage(image);
|
||||||
|
// It seems that browsers have special logic for fast animations.
|
||||||
int duration = std::max(20, reader.nextImageDelay());
|
// This implements Chrome and Firefox's behavior which uses
|
||||||
|
// a duration of 100 ms for any frames that specify a duration of <= 10 ms.
|
||||||
|
// See http://webkit.org/b/36082 for more information.
|
||||||
|
// https://github.com/SevenTV/chatterino7/issues/46#issuecomment-1010595231
|
||||||
|
int duration = reader.nextImageDelay();
|
||||||
|
if (duration <= 10)
|
||||||
|
duration = 100;
|
||||||
|
duration = std::max(20, duration);
|
||||||
frames.push_back(Frame<QImage>{image, duration});
|
frames.push_back(Frame<QImage>{image, duration});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue