<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>59498</bug_id>
          
          <creation_ts>2026-06-10 17:34:35 +0300</creation_ts>
          <short_desc>Сигнал recordingSaved может отправляться до создания временного файла</short_desc>
          <delta_ts>2026-06-10 17:40:55 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>spectacle</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vladislav Glinkin">glinkinvd</reporter>
          <assigned_to name="Sergey V Turchin">zerg</assigned_to>
          <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>289307</commentid>
    <comment_count>0</comment_count>
    <who name="Vladislav Glinkin">glinkinvd</who>
    <bug_when>2026-06-10 17:34:35 +0300</bug_when>
    <thetext>Версия пакета: spectacle-6.6.5-alt2

Если очень быстро записать, сохранить, а потом снова записать и сохранить видео - может возникнуть ситуация, когда сигнал `recordingSaved` отправляется раньше, чем создаётся временный файл.

Предположительные решения:
1) Добавление задержки перед вызовом exportVideo
```
--- a/spectacle/src/SpectacleCore.cpp  
+++ b/spectacle/src/SpectacleCore.cpp  
@@ -414,7 +414,9 @@ SpectacleCore::SpectacleCore(QObject *parent)  
    });  
    connect(videoPlatform, &amp;VideoPlatform::recordingSaved, this, [this](const QUrl &amp;fileUrl) {  
        // Always try to save. Needed to move recordings out of temp dir.  
-        ExportManager::instance()-&gt;exportVideo(autoExportActions() | ExportManager::Save, fileUrl, videoOutputUrl());  
+        QTimer::singleShot(100, this, [this, fileUrl]() {  
+            ExportManager::instance()-&gt;exportVideo(autoExportActions() | ExportManager::Save, fileUrl, videoOutputUrl());  
+        });  
    });  
    connect(videoPlatform, &amp;VideoPlatform::recordingCanceled, this, [this] {  
        if (m_startMode != StartMode::Gui || !m_returnToViewer || isGuiNull()) {
```
2) Где-то в исходном коде отслеживать состояние файла, перед отправкой сигнала `recordingSaved` - https://git.altlinux.org/gears/s/spectacle.git?p=spectacle.git;a=blob;f=spectacle/src/Platforms/VideoPlatformWayland.cpp;hb=42b71504528f324b539b8d3c3bceef3103f4dc1e#l311</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289308</commentid>
    <comment_count>1</comment_count>
    <who name="Vladislav Glinkin">glinkinvd</who>
    <bug_when>2026-06-10 17:40:55 +0300</bug_when>
    <thetext>(Ответ для Vladislav Glinkin на комментарий #0)
&gt; Если очень быстро записать, сохранить, а потом снова записать и сохранить
&gt; видео - может возникнуть ситуация, когда сигнал `recordingSaved`
&gt; отправляется раньше, чем создаётся временный файл.

Для пользователя проявляется как сообщение об ошибке:
&quot;Не удалось экспортировать видео: адресом временного файла должен быть существующий временный файл&quot;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>