lyx_mirror/development
Jean-Marc Lasgouttes 4ecbff0019 Allow multiple calls to processUpdateFlags before redraw
The goal of this commit is to ensure that a processUpdateFlags call
that requires no redraw will not override a previous one that did
require a redraw.

To this end, the semantics of the flag argument is now different: its
value is now OR'ed with a private update_flags_ variable. This
variable is only reset after the buffer view has actually been
redrawn.

A new Update::ForceRedraw flag has been added. It requires a full
redraw but no metrics computation. It is not used in the main code
(yet), but avoids to compute metrics repeatedly in consecutive
processUpdateFlags calls.

The process is now as follows:
- if flags is just None, return immediately, there is nothing to do.
- the Force flag is honored (full metrics computation) and replaced
  with ForceDraw.
- the FitCursor flag is honored and removed from the flags.
- the SinglePar update is added if ForceDraw is not in flags and only
  the current par has been modified.

The remaining flags are only then added to the BufferView update
flags, and the update strategy is computed for the next paint event.

Finally the dubious call to updateMacros in updateMetrics has been
removed for performance reasons.

(cherry picked from commit 8d8988de47)
2018-02-15 12:29:25 +01:00
..
attic Repeat after me: into account, into account, into account 2015-09-27 21:38:20 +02:00
autotests ctests: invert for new ru example_lyxified.lyx 2018-01-18 00:03:05 -05:00
checksigs Keep track of signatures stored on ftp server. 2017-02-16 12:54:43 -08:00
checkurls Cmake url tests: Add special handling for some ftp-urls 2016-01-05 17:27:49 +01:00
CI Add script for CI job to check git log for non @lyx.org-adressses 2017-07-30 20:28:42 +02:00
cmake build5*.bat: update to Qt 5.9.4 2018-01-24 01:19:19 +01:00
coding Example Emacs configuration 2015-10-01 22:06:01 +01:00
cygwin Update preference format for cygwin and Win 2017-10-27 13:00:02 -04:00
HTML
keystest
lyxserver
MacOSX add inkscape wrapper script for Mac OS 2017-10-03 20:07:35 +02:00
mathmacros Remove spurious body tags in macro test file. 2016-12-01 10:15:12 +01:00
tools Dirty Perl script for alphabetizing LyXAction.cpp, in case it 2017-01-07 16:04:12 -05:00
Win32 Win installer: upgrade to Qt 5.9.4 2018-01-24 03:26:34 +01:00
.gitignore
coverity_modeling.cpp Model lyx_exit() to tell coverity what it does 2017-03-31 16:51:02 +02:00
expectedTestFailures
FORMAT Collapsable -> Collapsible (part 1) 2017-10-16 11:22:13 +02:00
gcc_4.6.patchset Add patcheset for building with gcc 4.6. 2017-11-17 13:58:49 +01:00
LyX-Mac-binary-release.sh Add Qt-based fallback-converter for Mac to compensate missing ImageMagick convert utility 2017-10-03 20:10:29 +02:00
lyx.package.README
lyx.rpm.README
lyx.spec.in
Makefile.am Win installer: new Russian translations thanks to Yuriy 2017-12-09 19:05:17 +01:00
PAINTING_ANALYSIS Allow multiple calls to processUpdateFlags before redraw 2018-02-15 12:29:25 +01:00
TestsToDo Add Georg's idea for lyx2lyx tests to TestsToDo 2015-11-01 20:06:04 -05:00