Bug 136945 - Custom Slide Show drag-and-drop not reordering slides as desired
Summary: Custom Slide Show drag-and-drop not reordering slides as desired
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
6.1.0.3 release
Hardware: All All
: medium minor
Assignee: Caolán McNamara
URL:
Whiteboard: target:7.3.0 target:7.2.3
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Slide-Show
  Show dependency treegraph
 
Reported: 2020-09-21 23:38 UTC by Rafael Lima
Modified: 2021-11-03 09:25 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rafael Lima 2020-09-21 23:38:55 UTC
When I try to create a custom slide show (go to Slide Show -> Custom Slide Show -> New), if I drag and drop the items in the "Selected Slides" list to change their order, sometimes the items disappear from the list.

Steps to reproduce:
1) Create an Impress presentation with a few slides (e.g. 4 slides)
2) Go to Slide Show -> Custom Slide Show -> New
3) Select some (or all) slides in the "Existing Slides" list and add them to the "Selected Slides" list
4) Try to drag and drop the items in the "Selected Slides" list to change their order; in some occasions, they simply disappear. On other occasions, things work as expected.

I think there are some special cases that trigger this issue, but I could not figure it out.


This is the build that I'm running:

Version: 7.0.1.2
Build ID: 00(Build:2)
CPU threads: 16; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: pt-BR (pt_BR.UTF-8); UI: en-US
Ubuntu package version: 1:7.0.1_rc2-0ubuntu0.20.04.1
Calc: CL
Comment 1 Rafael Lima 2020-09-22 23:04:18 UTC
I also tested it using KDE in a different computer and still experienced the bug on the following build:

DOESN'T WORK
Version: 6.4.6.2
Build ID: 1:6.4.6~rc2-0ubuntu0.20.04.1
CPU threads: 4; OS: Linux 5.4; UI render: GL; VCL: kf5; 
Locale: pt-BR (pt_BR.UTF-8); UI-Language: en-US
Calc: CL

On LO 7.1 alpha in KDE the bug is not present (or at least I could not reproduce)

SEEMS TO WORK
Version: 7.1.0.0.alpha0+
Build ID: 83aa172697c11a9550c27a28f8e62b523ec7086d
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: kf5
Locale: pt-BR (pt_BR.UTF-8); UI: en-US
TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:master, Time: 2020-09-10_21:26:34
Calc: CL

However, the weirdest thing is that I tested the same 7.1 alpha build using Gnome (Gtk3) and the bug was there.

DOESN'T WORK
Version: 7.1.0.0.alpha0+
Build ID: 83aa172697c11a9550c27a28f8e62b523ec7086d
CPU threads: 16; OS: Linux 5.6; UI render: default; VCL: gtk3
Locale: pt-BR (pt_BR.UTF-8); UI: en-US
TinderBox: Linux-rpm_deb-x86_64@86-TDF, Branch:master, Time: 2020-09-10_21:26:34
Calc: CL
Comment 2 Rafael Lima 2021-07-14 12:23:22 UTC Comment hidden (obsolete)
Comment 3 Buovjaga 2021-07-19 09:18:10 UTC
(In reply to Rafael Lima from comment #2)
> Still present in LO 7.2 beta 1
> 
> When the user tries to reorder slides in a Custom Slide Show, the items do
> not stay in the desired position.
> 
> Now I can no longer make slides "disappear" as in the original message. But
> the reordering is not working.

What I noticed that when I try to drag'n'drop to above, I have to kind of overshoot to make the item actually move. So if I have three slides and want to move the one in the bottom to the middle, I have to target above the top one, which is unintuitive. Or if I want to move to the top, I have to move the mouse so the hinting line is no longer visible, but the "denied" icon is not yet visible.

NixOS
Version: 7.3.0.0.alpha0+ / LibreOffice Community
Build ID: b1df9c67349cf4cc5be4128d797aefb87f50e38f
CPU threads: 16; OS: Linux 5.13; UI render: default; VCL: x11
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Comment 4 Timur 2021-08-13 14:09:21 UTC
No repro LO 6.0.7. Regression, became wrong up to 6.1.6, I couldn't move slides, also 6.2.8. Up to 6.3.6 it was poorly fixed. Repro 7.3+.
Comment 5 Deep17 2021-10-28 13:41:48 UTC
Bibisected with : bibisect-win32-6.1

https://git.libreoffice.org/core/commit/5e245445200c5d094bb7eef76d8df3077b799ac5

commit 5e245445200c5d094bb7eef76d8df3077b799ac5	[log]
author	Caolán McNamara <caolanm@redhat.com>	Thu May 10 11:27:36 2018 +0100
committer	Caolán McNamara <caolanm@redhat.com>	Thu May 10 15:05:19 2018 +0200
tree fef15b7e3568c09edc3d12ff0f6bdc45e76e47fb
parent 476ed0aed1c09055fa05209485919a026e5f014e [diff]

Adding CC: to Caolán McNamara
Comment 6 Caolán McNamara 2021-11-02 10:12:41 UTC
For the gtk case (in the default adwaita theme) a blue line is either drawn above the drop row (if the mouse is above the half way point), below the drop row (if the mouse is below the half way point) or two lines are drawn, above and below the drop row (if the mouse is on the half way point).

The first two cases are unambiguous above and below the dest row and currently appear to work fine.  The other case is a drop "on" the dest row and I think the dnd in that case makes the dragged row a child of the drop target (instead of a sibling) and the row goes missing from the view.

Switching from a GtkTreeStore to a GtkListStore would remove the option of a dragged row becoming a child of another row.
Comment 7 Commit Notification 2021-11-02 15:07:41 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/83298077a4cd577860e2114b429a2d413c3ea10c

tdf#136945 use ListStore instead of TreeStore to avoid dnd creating subnodes

It will be available in 7.3.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 8 Commit Notification 2021-11-02 16:14:07 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/2aed402cf922479813ac1ce048c8ed276407401c

Resolves: tdf#136945 fix custom slide show dnd to reorder pages

It will be available in 7.3.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 9 Caolán McNamara 2021-11-02 16:14:37 UTC
looks good in trunk, backport to 7-2 in gerrit
Comment 10 Commit Notification 2021-11-03 09:25:30 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-7-2":

https://git.libreoffice.org/core/commit/7d2e195ec6562ac108580117638c7bf6d10c525c

Resolves: tdf#136945 fix custom slide show dnd to reorder pages

It will be available in 7.2.3.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.