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

Victor Prudniy <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from Victor Prudniy <[email protected]> ---
  I tested a candidate fix against plasma-workspace master, commit
  463e83b4450be0a0cea78de8214d04e065a757e9.

  System: KDE Linux, Plasma 6.7.80, Qt 6.11.1, Wayland,
  AMD RX 6800 XT, 175% scale.

  The current code calls QWindow::resize() directly when the QML item's
  implicit height changes. On Wayland, I changed the updateSize lambda in
  krunner/view.cpp to use:

      const QSize desiredSize =
          QSize(mainItem()->implicitWidth(), mainItem()->implicitHeight())
              .grownBy(padding())
              .boundedTo(screen()->availableSize().shrunkBy(margins()));

      if (KWindowSystem::isPlatformWayland()) {
          LayerShellQt::Window::get(this)->setDesiredSize(desiredSize);
      } else {
          resize(desiredSize);
      }

  This appears consistent with Comment 1: the layer-shell surface was
  resized before the QML content caught up. setDesiredSize() lets the
  actual window resize happen through the layer-shell configure cycle.

  I rebuilt only the krunner target and ran the patched binary instead of
  /usr/bin/krunner. The flickering disappeared completely, while dynamic
  resizing continued to work.

  Bug 483913 may describe the same underlying Wayland issue, although I
  have not tested its NVIDIA-specific case.

  The investigation and candidate change were produced with assistance
  from an AI coding agent. I built and A/B tested it locally.

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

Reply via email to