Bug 478162

Summary: Spectacle freezes after capturing a screenshot
Product: [Applications] Spectacle Reporter: Frederick Zhang <frederick888>
Component: GeneralAssignee: Noah Davis <noahadvs>
Status: RESOLVED FIXED    
Severity: normal CC: kde
Priority: NOR    
Version: 23.08.3   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=477896
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Frederick Zhang 2023-12-06 12:42:20 UTC
SUMMARY
Spectacle freezes after capturing a screenshot

STEPS TO REPRODUCE
1. Start Spectacle
2. Capture a rectangular region

OBSERVED RESULT
Spectacle freezes.

EXPECTED RESULT
Spectacle does not freeze.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 5.27.10
KDE Frameworks Version: 5.112.0
Qt Version: 5.15.11
Kernel Version: 6.6.4-arch1-1 (64-bit)
Graphics Platform: X11

ADDITIONAL INFORMATION
Screen recording: https://www.dropbox.com/scl/fi/aeazmlb9t1jrkpavwmojl/record-2023-12-06_23.30.59-spectacle.mp4?rlkey=2jd9npgh0rf33h6pdbvi8tgox&dl=0

Dual screen setup. Both are using 2x scale. Nvidia GPU with proprietary driver.

And bisect pointed to 6e3687a6b261bf5689a198d4644735ec08ab92e2:
# bad: [43f7ef5eb20ad006af312901de8c5c1b7fc0229a] GIT_SILENT Sync po/docbooks with svn
# good: [9f887e1b64fc26868a3d7978c54fa77c32dab283] GIT_SILENT Sync po/docbooks with svn
git bisect start 'master' 'v22.12.3'
# good: [dd600e9140735a9f0949d278ccd48db54ba74d28] GIT_SILENT Sync po/docbooks with svn
git bisect good dd600e9140735a9f0949d278ccd48db54ba74d28
# bad: [024626d73ffacbb7ce90e2417599c1666d7d901a] GIT_SILENT Sync po/docbooks with svn
git bisect bad 024626d73ffacbb7ce90e2417599c1666d7d901a
# bad: [6e7b4d1bfb425c8117b64a7e3fd0b0d5720bdf67] Allow building against KF6
git bisect bad 6e7b4d1bfb425c8117b64a7e3fd0b0d5720bdf67
# good: [3d2d254352c07e41398132140fe25bdea86b1147] ImageView: Fix sidebar and tabbar width not matching
git bisect good 3d2d254352c07e41398132140fe25bdea86b1147
# bad: [67fde5f86e4d4253d6437f45fdb2d090b2ace422] GIT_SILENT Sync po/docbooks with svn
git bisect bad 67fde5f86e4d4253d6437f45fdb2d090b2ace422
# bad: [978b13e42a28ecdcb2eba374407c5b00a6f86e62] Port away from deprecated KWindowSystem API
git bisect bad 978b13e42a28ecdcb2eba374407c5b00a6f86e62
# bad: [87ed76f83d185ec5def0420078c33b16b480eb98] recording: Drop VLCQt dependency
git bisect bad 87ed76f83d185ec5def0420078c33b16b480eb98
# bad: [eca59fed2cab418bfb6ca96217cf4b3e83404990] Hide "Capture the current pop-up only" checkbox when it isn't available
git bisect bad eca59fed2cab418bfb6ca96217cf4b3e83404990
# good: [677cc546a5191509d60307c9b2d1d3418a6bbde4] Fix light mask color widget name in kcfg
git bisect good 677cc546a5191509d60307c9b2d1d3418a6bbde4
# bad: [6e3687a6b261bf5689a198d4644735ec08ab92e2] Set instant hide X atom in SpectacleWindow
git bisect bad 6e3687a6b261bf5689a198d4644735ec08ab92e2
# good: [78184363fc36b86fb0bd7296193bde477e99d54a] Hide windows when there is no delay
git bisect good 78184363fc36b86fb0bd7296193bde477e99d54a
# first bad commit: [6e3687a6b261bf5689a198d4644735ec08ab92e2] Set instant hide X atom in SpectacleWindow
Comment 1 Noah Davis 2023-12-14 20:23:16 UTC
I'm unable to reproduce this with the latest unreleased version of Spectacle. Is this still a problem with Spectacle 23.08 and 24.01.80 (24.02 beta)?
Comment 2 Frederick Zhang 2023-12-17 05:10:56 UTC
> I'm unable to reproduce this with the latest unreleased version of Spectacle.
> Is this still a problem with Spectacle 23.08 and 24.01.80 (24.02 beta)?

I reported this issue using 23.08.3 as shown. Arch now is on 23.08.4 and
the issue still persists.

In terms of 24.01.80, I wasn't able to compile it as it requires KF
5.240.0. I'll probably have some time around Christmas to enable Arch's
KDE-Unstable repo temporarily to give it a shot.

PS: Is reply by email broken? I initially replied via email and got a 'Your message did not contain any text, as far as we could tell.' response.
Comment 3 Noah Davis 2023-12-18 20:03:51 UTC
Email seems to work

On Sun, Dec 17, 2023 at 12:10 AM Frederick Zhang
<bugzilla_noreply@kde.org> wrote:
>
> https://bugs.kde.org/show_bug.cgi?id=478162
>
> --- Comment #2 from Frederick Zhang <frederick888@tsundere.moe> ---
> > I'm unable to reproduce this with the latest unreleased version of Spectacle.
> > Is this still a problem with Spectacle 23.08 and 24.01.80 (24.02 beta)?
>
> I reported this issue using 23.08.3 as shown. Arch now is on 23.08.4 and
> the issue still persists.
>
> In terms of 24.01.80, I wasn't able to compile it as it requires KF
> 5.240.0. I'll probably have some time around Christmas to enable Arch's
> KDE-Unstable repo temporarily to give it a shot.
>
> PS: Is reply by email broken? I initially replied via email and got a 'Your
> message did not contain any text, as far as we could tell.' response.
>
> --
> You are receiving this mail because:
> You are the assignee for the bug.
Comment 4 Bug Janitor Service 2024-01-02 03:46:09 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Frederick Zhang 2024-01-08 11:15:40 UTC
Sorry for the delay. I tried Spectacle 24.01.85 in kde-unstable however I wasn't able to launch it.

I was using X11 (Wayland gave me a black screen), and Spectacle crashed with:

```
           PID: 4024 (spectacle)
           UID: 1000 (frederick)
           GID: 1000 (frederick)
        Signal: 6 (ABRT)
     Timestamp: Mon 2024-01-08 21:52:22 AEDT (3min 30s ago)
  Command Line: spectacle
    Executable: /usr/bin/spectacle
 Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-kitty-a50c83c1dd224135900be6739327d318.scope
          Unit: user@1000.service
     User Unit: app-kitty-a50c83c1dd224135900be6739327d318.scope
         Slice: user-1000.slice
     Owner UID: 1000 (frederick)
       Boot ID: 2e6a6bef7b7145a5b483fb6f7ed221b7
    Machine ID: 3bfda774c2114bf1a0008c2424a6447e
      Hostname: FredArch
       Storage: /var/lib/systemd/coredump/core.spectacle.1000.2e6a6bef7b7145a5b483fb6f7ed221b7.4024.1704711142000000.zst (present)
  Size on Disk: 41.7M
       Message: Process 4024 (spectacle) of user 1000 dumped core.

                Stack trace of thread 4024:
                #0  0x00007fa4e444883c n/a (libc.so.6 + 0x8e83c)
                #1  0x00007fa4e43f8668 raise (libc.so.6 + 0x3e668)
                #2  0x00007fa4e43e04b8 abort (libc.so.6 + 0x264b8)
                #3  0x00007fa4e49b872e n/a (libQt6Core.so.6 + 0xb472e)
                #4  0x00007fa4e49b8f3f _ZNK14QMessageLogger5fatalEPKcz (libQt6Core.so.6 + 0xb4f3f)
                #5  0x00007fa4e604980b n/a (libQt6Quick.so.6 + 0x17d80b)
                #6  0x00007fa4e6153974 _ZN12QQuickWindow5eventEP6QEvent (libQt6Quick.so.6 + 0x287974)
                #7  0x00007fa4e671df4b _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt6Widgets.so.6 + 0x17bf4b)
                #8  0x00007fa4e4a69488 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x165488)
                #9  0x00007fa4e4a69814 _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData (libQt6Core.so.6 + 0x165814)
                #10 0x00007fa4e4cb1734 n/a (libQt6Core.so.6 + 0x3ad734)
                #11 0x00007fa4e0ac6f69 n/a (libglib-2.0.so.0 + 0x59f69)
                #12 0x00007fa4e0b25367 n/a (libglib-2.0.so.0 + 0xb8367)
                #13 0x00007fa4e0ac5162 g_main_context_iteration (libglib-2.0.so.0 + 0x58162)
                #14 0x00007fa4e4caf164 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Core.so.6 + 0x3ab164)
                #15 0x00007fa4e4a7167e _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt6Core.so.6 + 0x16d67e)
                #16 0x00007fa4e4a6d0b8 _ZN16QCoreApplication4execEv (libQt6Core.so.6 + 0x1690b8)
                #17 0x000055ac12df08dd n/a (spectacle + 0x3a8dd)
                #18 0x00007fa4e43e1cd0 n/a (libc.so.6 + 0x27cd0)
                #19 0x00007fa4e43e1d8a __libc_start_main (libc.so.6 + 0x27d8a)
                #20 0x000055ac12df2835 n/a (spectacle + 0x3c835)

                Stack trace of thread 4025:
                #0  0x00007fa4e44bcf6f __poll (libc.so.6 + 0x102f6f)
                #1  0x00007fa4e0b252b6 n/a (libglib-2.0.so.0 + 0xb82b6)
                #2  0x00007fa4e0ac5162 g_main_context_iteration (libglib-2.0.so.0 + 0x58162)
                #3  0x00007fa4e4caf164 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Core.so.6 + 0x3ab164)
                #4  0x00007fa4e4a7167e _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt6Core.so.6 + 0x16d67e)
                #5  0x00007fa4e4b57a3f _ZN7QThread4execEv (libQt6Core.so.6 + 0x253a3f)
                #6  0x00007fa4e5d7b13f n/a (libQt6DBus.so.6 + 0x3113f)
                #7  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #8  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #9  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4026:
                #0  0x00007fa4e44bcf6f __poll (libc.so.6 + 0x102f6f)
                #1  0x00007fa4e750d20b n/a (libxcb.so.1 + 0xd20b)
                #2  0x00007fa4e750ef3d xcb_wait_for_event (libxcb.so.1 + 0xef3d)
                #3  0x00007fa4ce35ef2e n/a (libQt6XcbQpa.so.6 + 0x4ff2e)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4028:
                #0  0x00007fa4e44434ae n/a (libc.so.6 + 0x894ae)
                #1  0x00007fa4e4446055 pthread_cond_timedwait (libc.so.6 + 0x8c055)
                #2  0x00007fa4e4be6234 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2e2234)
                #3  0x00007fa4e4bddb52 n/a (libQt6Core.so.6 + 0x2d9b52)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4029:
                #0  0x00007fa4e44bcf6f __poll (libc.so.6 + 0x102f6f)
                #1  0x00007fa4e0b252b6 n/a (libglib-2.0.so.0 + 0xb82b6)
                #2  0x00007fa4e0ac5162 g_main_context_iteration (libglib-2.0.so.0 + 0x58162)
                #3  0x00007fa4e4caf164 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Core.so.6 + 0x3ab164)
                #4  0x00007fa4e4a7167e _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt6Core.so.6 + 0x16d67e)
                #5  0x00007fa4e4b57b3f _ZN7QThread3runEv (libQt6Core.so.6 + 0x253b3f)
                #6  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #7  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #8  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4031:
                #0  0x00007fa4e44434ae n/a (libc.so.6 + 0x894ae)
                #1  0x00007fa4e4446055 pthread_cond_timedwait (libc.so.6 + 0x8c055)
                #2  0x00007fa4e4be6234 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2e2234)
                #3  0x00007fa4e4bddb52 n/a (libQt6Core.so.6 + 0x2d9b52)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4032:
                #0  0x00007fa4e44434ae n/a (libc.so.6 + 0x894ae)
                #1  0x00007fa4e4446055 pthread_cond_timedwait (libc.so.6 + 0x8c055)
                #2  0x00007fa4e4be6234 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2e2234)
                #3  0x00007fa4e4bddb52 n/a (libQt6Core.so.6 + 0x2d9b52)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4033:
                #0  0x00007fa4e44434ae n/a (libc.so.6 + 0x894ae)
                #1  0x00007fa4e4446055 pthread_cond_timedwait (libc.so.6 + 0x8c055)
                #2  0x00007fa4e4be6234 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2e2234)
                #3  0x00007fa4e4bddb52 n/a (libQt6Core.so.6 + 0x2d9b52)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4034:
                #0  0x00007fa4e44434ae n/a (libc.so.6 + 0x894ae)
                #1  0x00007fa4e4446055 pthread_cond_timedwait (libc.so.6 + 0x8c055)
                #2  0x00007fa4e4be6234 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2e2234)
                #3  0x00007fa4e4bddb52 n/a (libQt6Core.so.6 + 0x2d9b52)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4037:
                #0  0x00007fa4e44434ae n/a (libc.so.6 + 0x894ae)
                #1  0x00007fa4e4446055 pthread_cond_timedwait (libc.so.6 + 0x8c055)
                #2  0x00007fa4e4be6234 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2e2234)
                #3  0x00007fa4e4bddb52 n/a (libQt6Core.so.6 + 0x2d9b52)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4030:
                #0  0x00007fa4e44434ae n/a (libc.so.6 + 0x894ae)
                #1  0x00007fa4e4446055 pthread_cond_timedwait (libc.so.6 + 0x8c055)
                #2  0x00007fa4e4be6234 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2e2234)
                #3  0x00007fa4e4bddb52 n/a (libQt6Core.so.6 + 0x2d9b52)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4040:
                #0  0x00007fa4e44434ae n/a (libc.so.6 + 0x894ae)
                #1  0x00007fa4e4445d40 pthread_cond_wait (libc.so.6 + 0x8bd40)
                #2  0x00007fa4e4be62a0 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2e22a0)
                #3  0x00007fa4e62f7c1b n/a (libQt6Quick.so.6 + 0x42bc1b)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4035:
                #0  0x00007fa4e44434ae n/a (libc.so.6 + 0x894ae)
                #1  0x00007fa4e4446055 pthread_cond_timedwait (libc.so.6 + 0x8c055)
                #2  0x00007fa4e4be6234 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2e2234)
                #3  0x00007fa4e4bddb52 n/a (libQt6Core.so.6 + 0x2d9b52)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)

                Stack trace of thread 4036:
                #0  0x00007fa4e44434ae n/a (libc.so.6 + 0x894ae)
                #1  0x00007fa4e4446055 pthread_cond_timedwait (libc.so.6 + 0x8c055)
                #2  0x00007fa4e4be6234 _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt6Core.so.6 + 0x2e2234)
                #3  0x00007fa4e4bddb52 n/a (libQt6Core.so.6 + 0x2d9b52)
                #4  0x00007fa4e4bd8ae3 n/a (libQt6Core.so.6 + 0x2d4ae3)
                #5  0x00007fa4e44469eb n/a (libc.so.6 + 0x8c9eb)
                #6  0x00007fa4e44ca7cc n/a (libc.so.6 + 0x1107cc)
                ELF object binary architecture: AMD x86-64
```
Comment 6 Bug Janitor Service 2024-01-23 03:45:27 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 7 Frederick Zhang 2024-01-23 05:06:41 UTC
Should I give 24.01.90 a shot?
Comment 8 Frederick Zhang 2024-01-30 15:02:58 UTC
Actually, I cannot reproduce the 'ghost image' issue even after removing the code that 6e3687a6b261bf5689a198d4644735ec08ab92e2 moved. Spectacle simply never has close animation.

I guess this was achieved by https://invent.kde.org/plasma/kwin/-/commit/616783d892db0410497356409698a81311610fc6. Is this something that all window close effects supposed to do? If yes, can we simply remove those lines from Spectacle?
Comment 9 Noah Davis 2024-01-30 18:40:56 UTC
(In reply to Frederick Zhang from comment #8)
> Actually, I cannot reproduce the 'ghost image' issue even after removing the
> code that 6e3687a6b261bf5689a198d4644735ec08ab92e2 moved. Spectacle simply
> never has close animation.

I don't see any previous mentions of a ghost image in this bug report. Are you sure you're referring to the right issue?

> I guess this was achieved by
> https://invent.kde.org/plasma/kwin/-/commit/
> 616783d892db0410497356409698a81311610fc6. Is this something that all window
> close effects supposed to do?

Something they're supposed to do? I guess, but it feels like a poorly engineered solution. There unfortunately isn't an alternative solution at this time, especially for Wayland.

> If yes, can we simply remove those lines from Spectacle?

I suppose we can since it's a KWin specific X11 atom to begin with.
Comment 10 Noah Davis 2024-01-30 18:52:54 UTC
Git commit 7f3d8a45e69acd31a3e5dedc0325d7c59ae1a6db by Noah Davis.
Committed on 30/01/2024 at 18:52.
Pushed by ndavis into branch 'master'.

Remove X11 atom

We don't need this anymore since Spectacle is blacklisted from KWin's
close effects.

M  +0    -27   src/Gui/SpectacleWindow.cpp

https://invent.kde.org/graphics/spectacle/-/commit/7f3d8a45e69acd31a3e5dedc0325d7c59ae1a6db
Comment 11 Noah Davis 2024-01-30 18:53:34 UTC
Git commit 218c1c6127ce0611e9615a86728a11e998b66585 by Noah Davis.
Committed on 30/01/2024 at 18:53.
Pushed by ndavis into branch 'release/24.02'.

Remove X11 atom

We don't need this anymore since Spectacle is blacklisted from KWin's
close effects.
(cherry picked from commit 7f3d8a45e69acd31a3e5dedc0325d7c59ae1a6db)

M  +0    -27   src/Gui/SpectacleWindow.cpp

https://invent.kde.org/graphics/spectacle/-/commit/218c1c6127ce0611e9615a86728a11e998b66585
Comment 12 Frederick Zhang 2024-01-31 12:17:03 UTC
> I don't see any previous mentions of a ghost image in this bug report. Are you
> sure you're referring to the right issue?

Sorry I was referring to the code comment: 'this fixes a *ghost image*
of the spectacle window [...]'.

And thank you for pushing the patch!

On 31/1/24 05:40, Noah Davis wrote:
> https://bugs.kde.org/show_bug.cgi?id=478162
> 
> Noah Davis <noahadvs@gmail.com> changed:
> 
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>           Resolution|WAITINGFORINFO              |---
>               Status|NEEDSINFO                   |REPORTED
> 
> --- Comment #9 from Noah Davis <noahadvs@gmail.com> ---
> (In reply to Frederick Zhang from comment #8)
>> Actually, I cannot reproduce the 'ghost image' issue even after removing the
>> code that 6e3687a6b261bf5689a198d4644735ec08ab92e2 moved. Spectacle simply
>> never has close animation.
> 
> I don't see any previous mentions of a ghost image in this bug report. Are you
> sure you're referring to the right issue?
> 
>> I guess this was achieved by
>> https://invent.kde.org/plasma/kwin/-/commit/
>> 616783d892db0410497356409698a81311610fc6. Is this something that all window
>> close effects supposed to do?
> 
> Something they're supposed to do? I guess, but it feels like a poorly
> engineered solution. There unfortunately isn't an alternative solution at this
> time, especially for Wayland.
> 
>> If yes, can we simply remove those lines from Spectacle?
> 
> I suppose we can since it's a KWin specific X11 atom to begin with.
>