[PR #1423] Fixes the issue: The "Repeat forever" checkbox in Gifski options is non-functional. The GIF loops indefinitely even if it's unchecked. #1365

Open
opened 2026-02-26 09:34:33 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/NickeManarin/ScreenToGif/pull/1423
Author: @fz0000
Created: 11/15/2025
Status: 🔄 Open

Base: devHead: gifski_new


📝 Commits (5)

📊 Changes

3 files changed (+7 additions, -6 deletions)

View changed files

📝 ScreenToGif.Model/Structs/GifskiSettings.cs (+4 -4)
📝 ScreenToGif/Util/EncodingManager.cs (+1 -1)
📝 ScreenToGif/Util/GifskiInterop.cs (+2 -1)

📄 Description

image
  1. It seems that the version of https://www.screentogif.com/downloads/Gifski.zip is 1.34.0. The GifskiSettings should be updated to match the definition in the corresponding gifski.h from that release:
typedef struct GifskiSettings {
  /**
   * Resize to max this width if non-0.
   */
  uint32_t width;
  /**
   * Resize to max this height if width is non-0. Note that aspect ratio is not preserved.
   */
  uint32_t height;
  /**
   * 1-100, but useful range is 50-100. Recommended to set to 90.
   */
  uint8_t quality;
  /**
   * Lower quality, but faster encode.
   */
  bool fast;
  /**
   * If negative, looping is disabled. The number of times the sequence is repeated. 0 to loop forever.
   */
  int16_t repeat;
} GifskiSettings;
  1. The "Repeat forever" checkbox is binding to RepeatForever:
    github.com/NickeManarin/ScreenToGif@4ccf787c08/ScreenToGif/UserControls/ExportPanel.xaml (L721-L723)
    So we need to use gifskiGifPreset.RepeatForever instead of gifskiGifPreset.Looped

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/NickeManarin/ScreenToGif/pull/1423 **Author:** [@fz0000](https://github.com/fz0000) **Created:** 11/15/2025 **Status:** 🔄 Open **Base:** `dev` ← **Head:** `gifski_new` --- ### 📝 Commits (5) - [`42eadd5`](https://github.com/NickeManarin/ScreenToGif/commit/42eadd5a03f4edfa16c492c8aa5fdd2a2eebf125) Merge branch 'dev' - [`8737b19`](https://github.com/NickeManarin/ScreenToGif/commit/8737b19b4c60f6c12411b268b1810291a1b29e57) Merge branch 'dev' - [`4ccf787`](https://github.com/NickeManarin/ScreenToGif/commit/4ccf787c0843ae585ca8012c5efcf2ba4d2ff463) Merge branch 'dev' - [`033fb38`](https://github.com/NickeManarin/ScreenToGif/commit/033fb381677db3b0d89d452edc971529994ad27e) update gifski lib - [`88f14d8`](https://github.com/NickeManarin/ScreenToGif/commit/88f14d8e4600819b659544f5183bfce9981c24c0) Merge branch 'NickeManarin:master' into gifski_new ### 📊 Changes **3 files changed** (+7 additions, -6 deletions) <details> <summary>View changed files</summary> 📝 `ScreenToGif.Model/Structs/GifskiSettings.cs` (+4 -4) 📝 `ScreenToGif/Util/EncodingManager.cs` (+1 -1) 📝 `ScreenToGif/Util/GifskiInterop.cs` (+2 -1) </details> ### 📄 Description <img width="332" height="546" alt="image" src="https://github.com/user-attachments/assets/5eb1325d-d25a-46f0-b039-c549c7ae6870" /> 1. It seems that the version of `https://www.screentogif.com/downloads/Gifski.zip` is 1.34.0. The `GifskiSettings` should be updated to match the definition in the corresponding `gifski.h` from that release: ```cpp typedef struct GifskiSettings { /** * Resize to max this width if non-0. */ uint32_t width; /** * Resize to max this height if width is non-0. Note that aspect ratio is not preserved. */ uint32_t height; /** * 1-100, but useful range is 50-100. Recommended to set to 90. */ uint8_t quality; /** * Lower quality, but faster encode. */ bool fast; /** * If negative, looping is disabled. The number of times the sequence is repeated. 0 to loop forever. */ int16_t repeat; } GifskiSettings; ``` 2. The "Repeat forever" checkbox is binding to `RepeatForever`: https://github.com/NickeManarin/ScreenToGif/blob/4ccf787c0843ae585ca8012c5efcf2ba4d2ff463/ScreenToGif/UserControls/ExportPanel.xaml#L721-L723 So we need to use `gifskiGifPreset.RepeatForever` instead of `gifskiGifPreset.Looped` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ScreenToGif#1365
No description provided.