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

Vlad Zahorodnii <vlad.zahorod...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/kwin/-/commit/324852e91b
                   |                            |3692a1f528d81f67ca35d063c84
                   |                            |960

--- Comment #6 from Vlad Zahorodnii <vlad.zahorod...@kde.org> ---
Git commit 324852e91b3692a1f528d81f67ca35d063c84960 by Vlad Zahorodnii.
Committed on 18/02/2025 at 00:00.
Pushed by vladz into branch 'master'.

Fix GraphicsBuffer tracking in InternalWindow

If markAsMapped() is called, the window may be resized, for example due
to window placement. If that happens, the QWindow may repaint itself
immediately and potentially drop the swapchain; it all will occur
recursively in markAsMapped(). If there is a nested present(), i.e.
present() -> markAsMapped() -> present(), the graphics buffer reference
in the outer present() can be invalid

   markAsMapped();

   m_graphicsBufferREf = frame.buffer; // frame.buffer can be deleted now

In order to prevent accessing destroyed graphics buffers, this change
makes the mark as mapped step last. As a long term measure, we need to
reconsider how geometry updates flow.
SENTRY: KWIN-8FZ

M  +3    -1    src/internalwindow.cpp

https://invent.kde.org/plasma/kwin/-/commit/324852e91b3692a1f528d81f67ca35d063c84960

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

Reply via email to