https://bugs.kde.org/show_bug.cgi?id=525413

            Bug ID: 525413
           Summary: Sharing a screenshot via "Export -> Share" (KDE
                    Purpose) not working.
    Classification: Applications
           Product: Spectacle
      Version First 6.7.4
       Reported In:
          Platform: NixOS
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: General
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

Created attachment 195894
  --> https://bugs.kde.org/attachment.cgi?id=195894&action=edit
How it looks before and after fix

DESCRIPTION
I wrote purpose plugin for myself, when I try to use it with spectacle I see
it's not working with "file doesn't exist" error. After this I try to use
default telegram plugin, same. This isn't specific to any one Purpose provider;
it reproduces with any configured Share target.

STEPS TO REPRODUCE
1. Open Spectacle.
2. Choose "Rectangular Region" capture mode.
3. Drag out a selection that covers only part of one screen.
4. In the toolbar that appears, open "Export" > "Share", then click any listed
provider.

OBSERVED RESULT
The file that gets shared/uploaded is the full raw screenshot (all monitors),
not the rectangular region that was selected.

EXPECTED RESULT
The shared file should match the selected rectangular region

SOFTWARE/OS VERSIONS
 - system: `"x86_64-linux"`
 - host os: `Linux 6.18.47, NixOS, 26.05 (Yarara)`

 - KDE Plasma Version: `"6.6.6"`
 - KDE Frameworks Version: `"6.26.0"`
 - Qt Version: `"6.11.1"`
 - Kernel Version: `"6.18.47 (64-bit)"`
 - Graphics Platform: `"Wayland"`
 - Processors: `"16 × AMD Ryzen 7 7800X3D 8-Core Processor"`
 - Memory: `"64 GiB of RAM (62.0 GiB usable)"`
 - Graphics Processor 1: `"NVIDIA GeForce RTX 4070 SUPER"`
 - Graphics Processor 2: `"AMD Ryzen 7 7800X3D 8-Core Processor"`

ADDITIONAL INFORMATION
I try to create patch and it's working now

purposeFix.patch
diff --git a/src/SpectacleCore.cpp b/src/SpectacleCore.cpp
index 85994141..6c5601f8 100644
--- a/src/SpectacleCore.cpp
+++ b/src/SpectacleCore.cpp
@@ -134,6 +134,14 @@ SpectacleCore::SpectacleCore(QObject *parent)
     m_annotationDocument = std::make_unique<AnnotationDocument>();

     // essential connections
+    connect(SelectionEditor::instance(), &SelectionEditor::accepted,
+            this, [this](const QRectF &rect, const ExportManager::Actions &){
+        if (!m_videoMode) {
+            m_annotationDocument->cropCanvas(rect);
+            syncExportImage();
+        }
+    }, Qt::DirectConnection);
+
     connect(SelectionEditor::instance(), &SelectionEditor::accepted,
             this, [this](const QRectF &rect, const ExportManager::Actions
&actions){
         m_returnToViewer = m_startMode == StartMode::Gui;
@@ -170,8 +178,6 @@ SpectacleCore::SpectacleCore(QObject *parent)
         } else {
             SpectacleWindow::setVisibilityForAll(QWindow::Hidden);
             deleteWindows();
-            m_annotationDocument->cropCanvas(rect);
-            syncExportImage();
             auto exportActions = actions & ExportManager::AnyAction ? actions
: autoExportActions();
             if (m_ocrExportInProgress) {
                 if (Settings::closeAfterOcr()) {

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to