Bug 127791 - Hyperlink dropped after restart
Summary: Hyperlink dropped after restart
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
5.0.0.5 release
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:6.4.0
Keywords: bibisected, bisected, regression
: 98452 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-09-26 13:34 UTC by Jean-Sebastien Bevilacqua
Modified: 2019-11-22 16:02 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
Fic1 (39.19 KB, application/vnd.oasis.opendocument.presentation)
2019-09-26 13:34 UTC, Jean-Sebastien Bevilacqua
Details
Fic2 (12.84 KB, application/vnd.oasis.opendocument.presentation)
2019-09-26 13:35 UTC, Jean-Sebastien Bevilacqua
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jean-Sebastien Bevilacqua 2019-09-26 13:34:19 UTC
Hello,

When you create a hypertext link on a grouped object in Impress, after restarting LibreOffice, the link is deleted.

How to reproduce:

1. Open the joined file Fic1.odp
2. Select the grouped object and Insert > Hyperlink
3. Select the joined Fic2.odp file

When you start the slideshow, it works, when you click on the object, the Fic2 file is opened.

4. Restart LibreOffice
5. Open Fic1 and try again

In the slideshow, when you click on the object, it doesn't work anymore.

Thanks,
Jean-Sébastien
Comment 1 Jean-Sebastien Bevilacqua 2019-09-26 13:34:47 UTC
Created attachment 154547 [details]
Fic1
Comment 2 Jean-Sebastien Bevilacqua 2019-09-26 13:35:03 UTC
Created attachment 154548 [details]
Fic2
Comment 3 Xisco Faulí 2019-10-14 15:18:57 UTC
I can't reproduce it in

Version: 6.4.0.0.alpha0+
Build ID: 9b5dad13b56bdde7c40970351af3da3a2c3c9350
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); UI-Language: en-US
Calc: threaded

Could you please try to reproduce it with a master build from http://dev-builds.libreoffice.org/daily/master/ ?
You can install it alongside the standard version.
I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' if the bug is still present in the master build
Comment 4 Jean-Sebastien Bevilacqua 2019-10-16 09:11:08 UTC Comment hidden (obsolete)
Comment 5 Jean-Sebastien Bevilacqua 2019-10-16 12:34:48 UTC
For information, the bug is on Windows and I think you tried it on Linux.
Comment 6 Timur 2019-10-16 14:14:49 UTC Comment hidden (obsolete)
Comment 7 Timur 2019-10-16 14:31:13 UTC
Repro in 6.4+. I used Insert > Hyperlink > Document.
Repro also 5.0.
This worked for example in LO 4.0. But with link visible. 
Seems that it went wrong when link was removed from being visible.
Comment 8 Jean-Sebastien Bevilacqua 2019-11-06 11:06:06 UTC
I did a bisection (only on the released versions):

5.0.3.2 -> OK
5.0.4.2 -> OK
5.0.5.1 -> KO
5.0.5.2 -> KO
5.0.6.3 -> KO
5.1.6.2 -> KO
5.2.7.2 -> KO

It's related to the visible or not visible link.
Comment 9 Xisco Faulí 2019-11-06 11:09:27 UTC
(In reply to Jean-Sebastien Bevilacqua from comment #8)
> I did a bisection (only on the released versions):
> 
> 5.0.3.2 -> OK
> 5.0.4.2 -> OK
> 5.0.5.1 -> KO
> 5.0.5.2 -> KO
> 5.0.6.3 -> KO
> 5.1.6.2 -> KO
> 5.2.7.2 -> KO
> 
> It's related to the visible or not visible link.

There is a couple of mentions of hyperlinks in https://wiki.documentfoundation.org/Releases/5.0.5/RC1
Comment 10 Jean-Sebastien Bevilacqua 2019-11-06 14:42:46 UTC
Hello,

I did a bibisection using bibisect-win32-5-1 repository and I found the commit.

It's this one:
 e34e0c8d97b90786e9ca9cf88d9fc3e127ce8350

Resolves: tdf#86845 hyperlink details not retained between tabs
Comment 11 Xisco Faulí 2019-11-06 14:45:05 UTC
(In reply to Jean-Sebastien Bevilacqua from comment #10)
> Hello,
> 
> I did a bibisection using bibisect-win32-5-1 repository and I found the
> commit.
> 
> It's this one:
> 
> e34e0c8d97b90786e9ca9cf88d9fc3e127ce8350
> 
> Resolves: tdf#86845 hyperlink details not retained between tabs

Nice.

Regression introduced by:

author	Caolán McNamara <caolanm@redhat.com>	2015-12-09 17:15:10 +0000
committer	Caolán McNamara <caolanm@redhat.com>	2015-12-09 17:18:29 +0000
commit e34e0c8d97b90786e9ca9cf88d9fc3e127ce8350 (patch)
tree d8e12c7cf62d816bc0a008bf26cf889f7fc65450
parent 28b5fb6aa23ab060cf4ca99097532749e9d4403a (diff)
Resolves: tdf#86845 hyperlink details not retained between tabs

Adding Cc: to Caolán McNamara
Comment 12 Caolán McNamara 2019-11-06 16:10:40 UTC
I have my doubts about the bisection but I can reproduce the problem
Comment 13 Caolán McNamara 2019-11-06 16:41:02 UTC
What I see is that this only affects grouped object and not normal ones. In the xml the <presentation:event-listener script:event-name="dom:click"... tag is right after the opening of the <draw:g> tag but the the group import applies those properties over the group children it has seen when it processes that tag, and because its at the start it gets applied over no children.

If I move the export of the events to after the group children are written, then the import will apply them over its children as expected and it works as expected.

https://gerrit.libreoffice.org/#/c/82160/

I can't see that this ever worked, so maybe I'm looking at the wrong problem as I can't see how the ui-only issue with the hyperlink dialog could have an input into this. 

FWIW what I'm looking at can also be reproduced by the Interaction dialog and "go to document" which sets the same properties as the hyperlink dialog.
Comment 14 Commit Notification 2019-11-06 19:51:26 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/1b2146431a583be27518536bed19ef01861b42a0

tdf#127791 write events at the end of groups instead of the start

It will be available in 6.4.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 15 Caolán McNamara 2019-11-06 19:53:08 UTC
tentatively claim this is fixed in master, backport to 6-3 in gerrit
Comment 16 Jean-Sebastien Bevilacqua 2019-11-07 08:58:30 UTC
Thanks for the patch Caolan, I will backport it on my 6.2 branch.
Comment 17 Commit Notification 2019-11-12 15:53:04 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/8fce214e24ddd731f08a12ab8baa8775c1109b95

revert: tdf#127791 write events at the end of groups instead of the start

It will be available in 6.4.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 18 Commit Notification 2019-11-12 19:52:24 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/03edebda393ea684803b7a0da72f33655bdc24d1

tdf#127791 defer import of group shape events until the group is popped

It will be available in 6.4.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 19 Timur 2019-11-14 14:49:23 UTC
Looks fine with the example.
Comment 20 Timur 2019-11-22 16:02:28 UTC
*** Bug 98452 has been marked as a duplicate of this bug. ***