lyx_mirror/development
Jean-Marc Lasgouttes 8d8988de47 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.
2017-10-24 22:25:29 +02:00
..
attic Fix some issues found by the shellcheck script, and move an old 2017-08-21 17:16:30 -04:00
autotests Cmake tests: Another case of using temporary files 2017-10-08 11:04:17 +02: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 Set n:o digits in abbrev. hash in script that checks commit log. 2017-08-20 18:34:25 +02:00
cmake Cmake doc creation: Python is choking on '\\' 2017-10-17 17:12:29 +02:00
coding Example Emacs configuration 2015-10-01 22:06:01 +01:00
cygwin Update the formats of lyxrc.dist.in to 22 2017-08-14 02:02:57 -04:00
HTML Update HTML notes again. 2011-04-03 13:38:05 +00:00
keystest Next keystest patch from John McCabe-Dansted. 2010-01-06 22:11:59 +00:00
lyxserver Remove obsolete source file. 2010-02-18 09:58:20 +00:00
MacOSX add inkscape wrapper script for Mac OS 2017-09-24 11:55:20 +02:00
mathmacros Remove spurious body tags in macro test file. 2016-12-01 10:15:12 +01:00
tools updatelayouts.py: consider citeengines. 2017-10-13 16:08:23 +02:00
Win32 Win installer: one DLL was removed in Qt 5.6.3 2017-10-15 16:52:07 +02:00
.gitignore Setup .gitignore for generated files 2012-03-22 02:16:12 +01:00
coverity_modeling.cpp Model lyx_exit() to tell coverity what it does 2017-03-31 16:51:02 +02:00
expectedTestFailures Cmake build tests: update comments 2013-08-25 18:18:19 +02:00
FORMAT Collapsable -> Collapsible (part 1) 2017-10-16 10:03:05 +02:00
LyX-Mac-binary-release.sh Add Qt-based fallback-converter for Mac to compensate missing ImageMagick convert utility 2017-09-30 18:13:37 +02:00
lyx.package.README Creat source package with 'make package_source' from inside the build directory 2011-05-23 08:44:32 +00:00
lyx.rpm.README Typos 2012-06-05 12:22:13 +02:00
lyx.spec.in Update the spec file template 2014-12-08 13:15:06 +01:00
Makefile.am Fix coverity issues about exceptions 2017-03-24 16:47:35 +01:00
PAINTING_ANALYSIS Allow multiple calls to processUpdateFlags before redraw 2017-10-24 22:25:29 +02:00
TestsToDo Add Georg's idea for lyx2lyx tests to TestsToDo 2015-11-01 20:06:04 -05:00