Commit Graph

41145 Commits

Author SHA1 Message Date
Enrico Forestieri
5873a382de Fix FileName::realPath() on Windows
The realPath() implementation on Windows works only for files and
not for directories. By using an API available starting from Vista
it is possible to fix it in a simple way.

I also took into account using the Qt QFileInfo::canonicalFilePath(),
but it turns out to not work when a path component is a junction
(tested with Qt 5.14.1).

Due to this, it is not possible compiling or using LyX on Windows
versions earlier than Vista.
2020-02-23 22:59:03 +01:00
Richard Kimberly Heck
0daceae649 Try again to fix memory leak reported by Scott.
This time, use a shared_ptr.
2020-02-23 16:56:43 -05:00
Richard Kimberly Heck
72c581ebdb Revert "Fix memory leak reported by Scott."
It leads to a double delete error.

This reverts commit 11397a2e82.
2020-02-23 16:29:58 -05:00
Richard Kimberly Heck
11397a2e82 Fix memory leak reported by Scott. 2020-02-23 15:54:13 -05:00
Richard Kimberly Heck
86f95062bd Fix some clang warnings.
The first one, a comma instead of a semi-colon, is a weird one.
2020-02-23 15:52:15 -05:00
Richard Kimberly Heck
d11a27a611 Fix nullptr warnings 2020-02-23 15:52:15 -05:00
Richard Kimberly Heck
608b927daf Fix "no extern declaration" warning. 2020-02-23 15:52:15 -05:00
Kornel Benko
f152302275 Cmake build: Remove unused option
LYX_USE_FILEDIALOG is not used since af795b80
2020-02-22 21:13:43 +01:00
Jean-Marc Lasgouttes
57b400cdff Make sure that spelling marks do not spill ouside of row
This avoids annoying remnants of dotted red lines.

Fixes bug #11755.
2020-02-22 18:02:13 +01:00
Stephan Witt
a891a1ba20 Avoid UTF8 "no-break space" and use the space inset instead. 2020-02-22 15:21:26 +01:00
Stephan Witt
90079857fe Provide predefined key binding for LFUN "forward-search" on Mac 2020-02-22 12:24:41 +01:00
Stephan Witt
f2f861f017 Use real path names for buffer lookup by name of temporary external files.
In case of path names for external files containing symbolic links the real path
and the logical path name may be different for the same file or directory.
LyX is using QDir::tempPath() to create the path name of the temporary directory.
The Qt implementation is free to return the logical or the real path name here and
it happens to be different for various platforms and versions.
The most stable and clean solution is to use the real path name consistently.
2020-02-22 12:11:42 +01:00
Stephan Witt
ca7defab45 Make the directories in LyX application bundle read only.
Python produces files with cached on-the-fly compiled code on disk inside the bundle.
This should be avoided in case of a signed application bundle.
2020-02-21 18:04:28 +01:00
Stephan Witt
a47412b9de Cleanup code signing of the LyX application bundle 2020-02-21 09:45:09 +01:00
Stephan Witt
6b9b07e6dc Cleanup internal structure of embedded Qt frameworks 2020-02-21 09:44:07 +01:00
Stephan Witt
5ccb7da134 Improved standard conformance of private frameworks naming scheme 2020-02-21 09:43:10 +01:00
Stephan Witt
aec491f686 Avoid potential leak of memory pointed to by QTreeWidgetItem subcatItem 2020-02-21 07:57:09 +01:00
Stephan Witt
d2257bb0ff Add packaging option to code sign the LyX application 2020-02-20 10:47:23 +01:00
Stephan Witt
dc5221852c Create private frameworks on Mac with standard conforming internal structure 2020-02-20 10:46:22 +01:00
Pavel Sanda
4e4bba441d gcc 4.7 leftover 2020-02-20 09:25:00 +01:00
Pavel Sanda
748bb5a046 Only gcc 4.8 is C++11 feature complete. 2020-02-20 09:25:00 +01:00
Stephan Witt
2bf7756196 Avoid potential leak of memory pointed to by QTreeWidgetItem catItem 2020-02-20 08:12:08 +01:00
Juergen Spitzmueller
aa18a079cf ru.po: update by Yuriy 2020-02-19 18:26:52 +01:00
Scott Kostyshak
19c41bd095 Fix write to uninitialized bytes for XCB event
As the xcb_send_event man page [1] states,

  In order to properly initialize these bytes, we allocate 32 bytes
  even though we only need less for an xcb_configure_notify_event_t

This commit fixes the following Valgrind error, which could be
triggered by selecting a letter in LyX:

  ==12698== Syscall param writev(vector[...]) points to uninitialised byte(s)
  ==12698==    at 0x61F578D: __writev (writev.c:26)
  ==12698==    by 0x61F578D: writev (writev.c:24)
  ==12698==    by 0x4A83BFC: ??? (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
  ==12698==    by 0x4A83FD0: ??? (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
  ==12698==    by 0x4A84246: ??? (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
  ==12698==    by 0x4A84ACB: xcb_flush (in /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0)
  ==12698==    by 0x17C8F06: lyx::frontend::GuiApplication::nativeEventFilter(QByteArray const&, void*, long*) (GuiApplication.cpp:3366)
  ==12698==    by 0x5AA4EEE: QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (qabstracteventdispatcher.cpp:484)

[1] https://www.x.org/releases/current/doc/man/man3/xcb_send_event.3.xhtml
2020-02-19 09:48:54 -05:00
Pavel Sanda
b7af21ad7c Fix memory leak.
Spotted by Scott.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg210447.html
2020-02-18 10:03:42 +01:00
Stephan Witt
fc790bc1f5 Add missing check for nullptr on check of language encoding of next paragraph. 2020-02-18 09:03:20 +01:00
Stephan Witt
f904fb2d61 Add missing initialization for local variable.
The autoargs variable is random for empty macro argument lists otherwise.
2020-02-18 08:59:20 +01:00
Stephan Witt
fe02f151f9 Remove useless assignments to a local variables never read later. 2020-02-18 08:55:45 +01:00
Stephan Witt
225de7830e Remove useless assignment to a local variables never read later. 2020-02-18 08:55:00 +01:00
Stephan Witt
febbc3537a Avoid crashes in case of missing document buffer for buffer based conversions. 2020-02-18 08:43:22 +01:00
Richard Kimberly Heck
731feb9f18 Silence some clang warnings. 2020-02-17 12:31:38 -05:00
Richard Kimberly Heck
fb03f2a5ec Fix a strange warning in QtCreator:
/cvs/lyx/lyx-devel/src/frontends/qt/TocModel.cpp:356: warning: loop variable 'toc' has type 'const pair<std::string, shared_ptr<lyx::Toc> > &' (aka 'const pair<basic_string<char>, shared_ptr<vector<lyx::TocItem> > > &') but is initialized with type 'const std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<std::vector<lyx::TocItem, std::allocator<lyx::TocItem> > > >' resulting in a copy

/cvs/lyx/lyx-devel/src/frontends/qt/TocModel.cpp:356: use non-reference type 'pair<std::string, shared_ptr<lyx::Toc> >' (aka 'pair<basic_string<char>, shared_ptr<vector<lyx::TocItem> > >') to keep the copy or type 'const std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<std::vector<lyx::TocItem, std::allocator<lyx::TocItem> > > > &' to prevent copying

Easier just to use 'auto'.
2020-02-17 12:31:38 -05:00
Stephan Witt
f12c4dbcd9 Remove unnecessary assertion after explicit buffer pointer check. 2020-02-17 14:35:03 +01:00
Stephan Witt
a1d68511ac Avoid potential crashes with missing document buffer in dispatch of buffer based LFUNs.
Use LASSERT with appropriate action instead of LATTEST assertions.
Debug build is unchanged and asserts, release build skips the action gracefully.
2020-02-17 13:36:37 +01:00
Stephan Witt
0f1f00db27 Code cleanup: avoid repeating temp_dir method calls while local variable has a result already. 2020-02-17 13:25:35 +01:00
Juergen Spitzmueller
4debbdd6b6 Restore custom tmp directory
Fixes #1174
2020-02-17 09:00:08 +01:00
Scott Kostyshak
562917dc1c lyxpreview_tools.py: fix a regular expression
Three backslashes are needed before a LaTeX command, not one. Before
this commit, the code gave the following error with Python >= 3.6:

  re.error: bad escape \g at position 29

This error was introduced with Python 3.6, as documented [1] by the
following line of documentation:

  Changed in version 3.6: Unknown escapes in pattern consisting of
  '\' and an ASCII letter now are errors.

Although previous Python versions did not give an error, the regular
expression was not working as intended: for example, the "\\n" in
"\\newcommandx" would be interpreted as a new line.

[1] https://docs.python.org/3.6/library/re.html#re.sub
2020-02-15 21:57:30 -05:00
Pavel Sanda
2db6a81156 Unify handling in dispatchVC.
All these check could be actually dropped, because unless dispatchVC
is called directly, getstatus would already handle it.
2020-02-15 20:55:14 +01:00
Kornel Benko
f5551bec15 Amend 43dfd12f 2020-02-15 12:21:32 +01:00
Kornel Benko
3f2c315530 Cmake tests: Correct test BATCH_outline-beamer 2020-02-15 10:26:33 +01:00
Kornel Benko
43dfd12fd7 Cmake build: Files already removed, but in 'git status' still present.
This is a try to really remove them.
2020-02-15 10:11:28 +01:00
Juergen Spitzmueller
e31364fdcb whitespace 2020-02-15 09:26:43 +01:00
Juergen Spitzmueller
195393f401 Fix Python detection on windows
Patch by Eugene Chornyi
2020-02-15 09:26:08 +01:00
Stephan Witt
6dab8739eb Avoid uninitialized position variables in case of current inset not doing the assignment 2020-02-14 12:11:10 +01:00
Stephan Witt
ab877352e7 Use the application id of lyx to address the running LyX instance 2020-02-14 12:06:08 +01:00
Stephan Witt
983da7d6de Put the LyX window frontmost automatically on Mac on successful reverse search 2020-02-13 16:39:14 +01:00
Stephan Witt
aca95619b8 Avoid potential leak of memory pointed to by QStandardItem catItem 2020-02-13 16:39:14 +01:00
Juergen Spitzmueller
c4da8d38c9 Handle encoding error in layout file parsing more gracefully
Issue a warning about non-decodable files, but do not break
completely.

Addresses #11736
2020-02-13 08:13:22 +01:00
Richard Kimberly Heck
b175f5a315 Fix bug #11737.
We need to use the FileName methods when moving or removing a file,
so that refresh() gets called.

(cherry picked from commit d930913898)
2020-02-13 00:11:23 -05:00
Juergen Spitzmueller
40b1a6f9b1 Revert "Fix bug #11712."
This breaks on Linux

This reverts commit fdf81a9bab.
2020-02-12 16:11:01 +01:00