[RFC][PATCH] Change to GuiView::goToFileRow

Stephan Witt st.witt at gmx.net
Sun Feb 16 00:47:43 UTC 2020


Am 16.02.2020 um 01:25 schrieb Enrico Forestieri <forenr at lyx.org>:
> 
> On Sat, Feb 15, 2020 at 04:09:14PM +0100, Stephan Witt wrote:
>> Am 15.02.2020 um 15:31 schrieb Enrico Forestieri <forenr at lyx.org>:
>>> 
>>> On Sat, Feb 15, 2020 at 02:41:19PM +0100, Stephan Witt wrote:
>>>> 
>>>> I came up with another path. IMHO easier to understand. 
>>>> And it works with all variants of Qt and input.
>>> 
>>> Unfortunately, it confuses me more than the previous one.
>>> Please, can you apply the attached debug patch and report the
>>> results you obtain with both Qt 5.9 and 5.12?
>> 
>> Here you are:
>> 
>> version: 5.9.8
>> file_name: /var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.aScQxky52159/lyx_tmpbuf0/Tutorial.tex
>> abstmp:    /var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.rHrJLJU14712
>> realtmp:   /private/var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.rHrJLJU14712
>> 
>> Qt version: 5.12.3
>> file_name: /var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.aScQxky52159/lyx_tmpbuf0/Tutorial.tex
>> abstmp:    /private/var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.BOxdOihSBXEp
>> realtmp:   /private/var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn/T/lyx_tmpdir.BOxdOihSBXEp
> 
> Something really fishy is going on here. Note that you get the *same*
> file_name with both 5.9.8 and 5.12.3. This is already really strange,
> but the stranger thing is that the last component of abstmp and realtmp
> changes, becoming lyx_tmpdir.rHrJLJU14712 in one case and
> lyx_tmpdir.BOxdOihSBXEp in the other one. Seemingly, they are unrelated
> to file_name…

To simplify my testing I’m using the mini-buffer command input to debug the
whole thing. I’ve used the arrow up in mini-buffer to repeat the previous command.
Sorry for not telling you this.

The entire point is: if you send the file name with private prefix and receive the 
file name without it it works with Qt-5.9 and break with Qt-5.12 because Qt-folks
decided to use the real path name as result of QDir::tempPath().

We have no control over Qt and over Skim.

That’s my situation with Qt-5.12.

Did you try my patch and did you saw any problem with it on Linux?

> I tried to reproduce your configuration on linux by creating a /tmpriv
> symlink pointing to /private/tmp and trying to set the temporary dir
> to /tmpriv. I did non succeed because it seems that the temporary
> directory cannot be changed and is always /tmp, whatever you set
> in Preferences->Paths->Temporary directory !

Yes, probably it’s platform specific if it’s /tmp or /private/var/folders/1x/zm63s22x7s591xrlgm4rl9v40000gn

The latter is simply more secure.

Stephan



More information about the lyx-devel mailing list