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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas
                   |ma/kwin/-/commit/324852e91b |ma/kwin/-/commit/839a29a2f8
                   |3692a1f528d81f67ca35d063c84 |719e4c4b55b43142c666b34a7a0
                   |960                         |f3a

--- Comment #7 from Vlad Zahorodnii <vlad.zahorod...@kde.org> ---
Git commit 839a29a2f8719e4c4b55b43142c666b34a7a0f3a by Vlad Zahorodnii.
Committed on 18/02/2025 at 01:04.
Pushed by vladz into branch 'Plasma/6.3'.

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
(cherry picked from commit 324852e91b3692a1f528d81f67ca35d063c84960)

M  +6    -2    src/internalwindow.cpp

https://invent.kde.org/plasma/kwin/-/commit/839a29a2f8719e4c4b55b43142c666b34a7a0f3a

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

Reply via email to