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

snx <s...@mailbox.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/fram
                   |                            |eworks/kio/commit/386629579
                   |                            |4d9201c4b4269e0cd5006ed01d6
                   |                            |b8af
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #4 from snx <s...@mailbox.org> ---
Git commit 3866295794d9201c4b4269e0cd5006ed01d6b8af by snooxx 💤.
Committed on 02/03/2022 at 17:21.
Pushed by broulik into branch 'master'.

KFilePlacesView: Fix crash when dragging over topmost section header

b5de820a78 fixed incorrect highlighting of the section header label
during drag operations over the first place of a section in clients
setting `m_dropOnPlace`, e.g. Dolphin. This was effective for all except
the topmost section header, where it would cause a crash (independent of
the state of `m_dropOnPlace`).

In `KFilePlacesViewDelegate::previousVisibleIndex` access to `model`
fails, because the `index` determined via `indexAt` of `m_dropRect` in
`KFilePlacesView::paintEvent` is invalid when dragging towards the
topmost section header label. This is because `m_dropRect.topLeft()` can
extend above the entry's `visualRect`, i.e. it covers the places items
below as well as above the separator, of which the latter does not exist
for the first entry.

By remembering the index belonging to `m_dropRect` in `m_dropIndex`
instead of reconstructing it, we can guarantee it to be valid.
Related: bug 450813

Test Plan:

No more crash when dragging places or folders over topmost section
header label in places view in `kdialog --getsaveurl` as well as
`dolphin`. Other functionality related to dragging places around
(including existing bugs) is unaffected and the behavior of the original
fix remains.

M  +7    -5    src/filewidgets/kfileplacesview.cpp

https://invent.kde.org/frameworks/kio/commit/3866295794d9201c4b4269e0cd5006ed01d6b8af

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

Reply via email to