Re: List of notes not in beta1

2017-10-19 Thread racoon

On 19.10.2017 15:25, Kornel Benko wrote:

Am Donnerstag, 19. Oktober 2017 um 14:00:27, schrieb racoon 

My documents do not show the "Notes" list in the Outline pane in beta1.
Is that a bug?

Daniel


Insert a note first?

Kornel

Yes, I have plenty of them. Does your question suggest that it works for 
you?


Daniel



Re: LyX-Workarea: Background not shown correctly

2017-10-19 Thread Jean-Marc Lasgouttes
Le 19 octobre 2017 22:34:07 GMT+02:00, Patrick De Visschere 
 a écrit :
>This works as far as I can see.

This is very very good news. I'll commit that as soon as the rest is in a good 
enough shape, since the two are related. Thanks a lot for the detective work.

JMarc


Re: LyX-Workarea: Background not shown correctly

2017-10-19 Thread Patrick De Visschere
This works as far as I can see.


> On 19 Oct 2017, at 17:34, Jean-Marc Lasgouttes  wrote:
> 
> Le 16/10/2017 à 14:48, Patrick De Visschere a écrit :
>> I’ve defined a watchpoint on what I believe is the backingstore image and 
>> this is the complete call stack:
> 
> This callstack is very interesting. It tells us that syncBackingStore is 
> invoked from QWidget::event for the event UpdateRequest (14). In turn at (16) 
> we have an occasion of cathcing this event and ask for a full redraw.
> 
> Could you try the following pair of patches? The first one is the one I am 
> working on in another thread (but which is not ready yet) and the second is 
> the one of interest here (but it depends of the first one).
> 
> JMarc
> <0001-Allow-multiple-calls-to-processUpdateFlags-before-re.patch><0001-Tentative-patch-fix-black-screen-on-Mac.patch>




smime.p7s
Description: S/MIME cryptographic signature


Re: Initial view of document (master)

2017-10-19 Thread Jean-Marc Lasgouttes

Le 19/10/2017 à 14:59, Pavel Sanda a écrit :

Pavel Sanda wrote:

While doing the above steps in c) and jumping to different tabs or undoing I 
randomly get LyX crashing:
Assertion false violated in Coordcache.cpp:31.


Recipy is rather simple:
1. open new document
2. insert LyX note
3. kaboom


I got this one fixed.

JMarc



Re: LyX-Workarea: Background not shown correctly

2017-10-19 Thread Jean-Marc Lasgouttes

Le 16/10/2017 à 14:48, Patrick De Visschere a écrit :
I’ve defined a watchpoint on what I believe is the backingstore image 
and this is the complete call stack:


This callstack is very interesting. It tells us that syncBackingStore is 
invoked from QWidget::event for the event UpdateRequest (14). In turn at 
(16) we have an occasion of cathcing this event and ask for a full redraw.


Could you try the following pair of patches? The first one is the one I 
am working on in another thread (but which is not ready yet) and the 
second is the one of interest here (but it depends of the first one).


JMarc
From a02bfba3f56307fa08deaa2a4456092507f91d83 Mon Sep 17 00:00:00 2001
From: Jean-Marc Lasgouttes 
Date: Wed, 11 Oct 2017 18:00:48 +0200
Subject: [PATCH] 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:
- the FitCursor flag is honored and removed from the flags
- the Force flag is nhonored (full metrics computation) and replaced
  with ForceDraw.

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.
---
 development/PAINTING_ANALYSIS |  21 +++---
 src/BufferView.cpp| 148 +-
 src/BufferView.h  |   7 +-
 src/TextMetrics.cpp   |   7 +-
 src/update_flags.h|  14 +++-
 5 files changed, 104 insertions(+), 93 deletions(-)

diff --git a/development/PAINTING_ANALYSIS b/development/PAINTING_ANALYSIS
index f734edb..ec3566e 100644
--- a/development/PAINTING_ANALYSIS
+++ b/development/PAINTING_ANALYSIS
@@ -60,12 +60,6 @@ cursor.
 
 * Clean-up of drawing code
 
-The goal is to make painting with drawing disable fast enough that it
-can be used after every metrics computation. Then we can separate real
-drawing from metrics.
-
-Other changes are only clean-ups.
-
 ** When a paragraph ends with a newline, compute correctly the height of the extra row.
 ** Merging bv::updateMetrics and tm::metrics
 
@@ -76,7 +70,7 @@ insets. We should re-use the bv::updateMetrics logic:
  + transfer all the logic of bv::updateMetrics to tm.
  + Main InsetText should not be special.
 
-The difficuly for a tall table cell for example, is that it may be
+The difficulty for a tall table cell for example, is that it may be
 necessary to break the whole contents to know the width of the cell.
 
 
@@ -113,11 +107,19 @@ DecorationUpdate). It triggers a recomputation of the metrics when either:
existing metrics. Note that the Update::SinglePar flag is *never*
taken into account.
 
+If a computation of metrics has taken place, Force is removed from the
+flags and ForceDraw is added instead.
+
+It is OK to call processUptateFlags several times before an update. In
+this case, the effects are cumulative.processUpdateFlags execute the
+metrics-related actions, but defers the actual drawing to the next
+paint event.
+
 The screen is drawn (with appropriate update strategy), except when
 update flag is Update::None.
 
 
-** Metrics computation
+** Metrics computation (and nodraw drawing phase)
 
 This is triggered by bv::updateMetrics, which calls tm::redoParagraph for
 all visible paragraphs. Some Paragraphs above or below the screen (needed
@@ -127,6 +129,9 @@ tm::redoParagraph will call Inset::metrics for each inset. In the case
 of text insets, this will invoke recursively tm::metrics, which redoes
 all the paragraphs of the inset.
 
+At the end of the function, bv::updatePosCache is called. It triggers
+a repaint of the document with a NullPainter (a painter that does
+nothing). This has the effect of caching all insets positions.
 
 ** Drawing the work area.
 
diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index 53d374f..737f184 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -228,7 +228,8 @@ enum ScreenUpdateStrategy {
 
 struct BufferView::Private
 {
-	Private(BufferView & bv) : update_strategy_(NoScreenUpdate),
+	Private(BufferView & bv) : update_strategy_(FullScreenUpdate),
+		update_flags_(Update::Force),
 		wh_(0), cursor_(bv),
 		anchor_pit_(0), anchor_ypos_(0),
 		inlineCompletionUniqueChars_(0),
@@ -245,6 +246,8 @@ struct BufferView::Private
 	///
 	ScreenUpdateStrategy update_strategy_;
 	///
+	Update::flags update_flags_;

Re: Initial view of document (master)

2017-10-19 Thread Pavel Sanda
Jean-Marc Lasgouttes wrote:
> Thanks for testing. I complain, but I appreciate (time to find a shrink?)

I appreciate. Until the new painting stuff is merged into stable I need to stay 
with lyx 2.0...
Pavel


Re: Initial view of document (master)

2017-10-19 Thread Jean-Marc Lasgouttes

Le 19/10/2017 à 14:38, Pavel Sanda a écrit :

Jean-Marc Lasgouttes wrote:

Could you have a go at this updated patch? I had to do now a rewrite of
processUpdateFlags that I planned to do later.


Indeed, the reported issues seem to be solved (qt5 test).

But I see new ones (all of these with applied patch, but they might apply to 
2.3 as well):


OK, OK, I have to look at these too :( The question is probably whether 
it is due to this patch or not. I'll see.


Thanks for testing. I complain, but I appreciate (time to find a shrink?)

JMarc



Re: Make the math package loading automatic

2017-10-19 Thread Jean-Pierre Chrétien

Le 07/05/2017 à 21:58, Jean-Pierre Chrétien a écrit :



What do you think? Should I parse the files to find \usepackage{xxx} command in 
preambles, where xxx is one of the ten math packages managed by math options


I did not find any occurrence.


or is it sufficient to have no ctest failure?



I reran the test procedure of these changes in math options on recent master and 
documented it precisely in ticket #10661. The changes seem safe to me, and below 
is the beginning of a commit appropriate to perform them. Can it go to master ?

It is also candidate to 2.3.x (and maybe to 2.2.x too).


Jean-Pierre


commit ee85f40c1f7a2938515ff82853c3bf00130d862b
Author: jpc 
Date:   Thu Oct 19 14:47:51 2017 +0200

 Turn 'Do not load' math option to 'Automatic' (ticket 10661)

diff --git a/lib/doc/Additional.lyx b/lib/doc/Additional.lyx
index f3c23a515d..57f948fc45 100644
--- a/lib/doc/Additional.lyx
+++ b/lib/doc/Additional.lyx
@@ -86,14 +86,14 @@ shapepar
 \use_geometry false
 \use_package amsmath 1
 \use_package amssymb 1
-\use_package cancel 0
-\use_package esint 0
+\use_package cancel 1
+\use_package esint 1
 \use_package mathdots 1
-\use_package mathtools 0
+\use_package mathtools 1
 \use_package mhchem 1
-\use_package stackrel 0
-\use_package stmaryrd 0
-\use_package undertilde 0
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
 \cite_engine basic
 \cite_engine_type default
 \biblio_style plain
diff --git a/lib/doc/Customization.lyx b/lib/doc/Customization.lyx
index ed456e0619..cb81a847e8 100644
--- a/lib/doc/Customization.lyx
+++ b/lib/doc/Customization.lyx
@@ -82,16 +82,16 @@ logicalmkup
 \pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, 
filecolor=blue,pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, 
plainpages=false"

 \papersize default
 \use_geometry false
-\use_package amsmath 0
-\use_package amssymb 0
-\use_package cancel 0
-\use_package esint 0
+\use_package amsmath 1
+\use_package amssymb 1
+\use_package cancel 1
+\use_package esint 1
 \use_package mathdots 1
-\use_package mathtools 0
-\use_package mhchem 0
-\use_package stackrel 0
-\use_package stmaryrd 0
-\use_package undertilde 0
+\use_package mathtools 1
+\use_package mhchem 1
+\use_package stackrel 1
+\use_package stmaryrd 1
+\use_package undertilde 1
 \cite_engine basic
 \cite_engine_type default
 \biblio_style plain
diff --git a/lib/doc/Development.lyx b/lib/doc/Development.lyx
index 845f22aaa6..2998d0596f 100644
[snip]


Re: Initial view of document (master)

2017-10-19 Thread Pavel Sanda
Pavel Sanda wrote:
> d) Editing problems
> Don't see how to produce solid recipy but something is wrong with editing as 
> well.

Try couple times this one:
1. open user guid, uncheck disable editing
2. go to in front of "i" in "What is LyX"
3. hit delete
4. in most cases the character does not disappear although deleted once you 
move caret


Re: Initial view of document (master)

2017-10-19 Thread Pavel Sanda
Pavel Sanda wrote:
> > While doing the above steps in c) and jumping to different tabs or undoing 
> > I randomly get LyX crashing:
> > Assertion false violated in Coordcache.cpp:31.

Recipy is rather simple:
1. open new document
2. insert LyX note
3. kaboom


Re: Initial view of document (master)

2017-10-19 Thread Pavel Sanda
Pavel Sanda wrote:
> But I see new ones (all of these with applied patch, but they might apply to 
> 2.3 as well):
> a)
> 1. edit document
> 2. scroll to different page via mouse wheel
> 3. hit ctrl+s to save
> 4. caret suddenly appears on screen on totally wrong position
>unrelated to current
> Reproducible?
> 
> b) Selection problems.
> 1. open some document, copy uncollapsed note inset
> 2. open new document, paste note inset
> 3. hit backscpace, the selection is done but _not_ painted.
>when playing with caret, the same sometimes happens together with delete,
>sometimes not, the pattern is not clear.
>I first discovered it when trying to delete note inset in c3.
> Reproducible?
> 
> c) Caret movement
> There is bunch of weird effects with note insets inside figure float.
> 1. insert figure float, paragraph of text into caption and then insert
>note inset at the very end. Do not put new line before inset.
> 2.   Put another paragraph of text into inset.
> 3. Now editing last line above inset:
>*) remove some word inside the line, the line shrinks instead of remaining 
> spanning across the whole row
>Reproducible?
>**) remove last character before the inset, the character gets deleted but 
> _stays_ on screen
>Reproducible?
>***) Moving caret inside inset and back outside few characters into 
> previous paragraph. Ghost caret
> stays on screen on the very end of line
>Reproducible?
>) Going into inset takes and out is not symmetric, sometimes caret 
> ends in front of painted 
>  note label sometimes it can make just to the last position of the 
> previous line and directly
>jumps into inset, depending on direction where you come from.
>Reproducible?
>  
> While doing the above steps in c) and jumping to different tabs or undoing I 
> randomly get LyX crashing:
> Assertion false violated in Coordcache.cpp:31.

d) Editing problems
Don't see how to produce solid recipy but something is wrong with editing as 
well.
Sometimes caret just jumps as I type at the end of line but no character is 
painted.
After typing few characters all of them suddenly appear. Similar with delete at 
the end of line.
This might actualy explain problem in c3 without need of insets to be present...

> Pavel


Re: Initial view of document (master)

2017-10-19 Thread Pavel Sanda
Jean-Marc Lasgouttes wrote:
> Could you have a go at this updated patch? I had to do now a rewrite of 
> processUpdateFlags that I planned to do later.

Indeed, the reported issues seem to be solved (qt5 test).

But I see new ones (all of these with applied patch, but they might apply to 
2.3 as well):
a)
1. edit document
2. scroll to different page via mouse wheel
3. hit ctrl+s to save
4. caret suddenly appears on screen on totally wrong position
   unrelated to current
Reproducible?

b) Selection problems.
1. open some document, copy uncollapsed note inset
2. open new document, paste note inset
3. hit backscpace, the selection is done but _not_ painted.
   when playing with caret, the same sometimes happens together with delete,
   sometimes not, the pattern is not clear.
   I first discovered it when trying to delete note inset in c3.
Reproducible?

c) Caret movement
There is bunch of weird effects with note insets inside figure float.
1. insert figure float, paragraph of text into caption and then insert
   note inset at the very end. Do not put new line before inset.
2.   Put another paragraph of text into inset.
3. Now editing last line above inset:
   *) remove some word inside the line, the line shrinks instead of remaining 
spanning across the whole row
   Reproducible?
   **) remove last character before the inset, the character gets deleted but 
_stays_ on screen
   Reproducible?
   ***) Moving caret inside inset and back outside few characters into previous 
paragraph. Ghost caret
stays on screen on the very end of line
   Reproducible?
   ) Going into inset takes and out is not symmetric, sometimes caret ends 
in front of painted 
 note label sometimes it can make just to the last position of the 
previous line and directly
 jumps into inset, depending on direction where you come from.
   Reproducible?
 
While doing the above steps in c) and jumping to different tabs or undoing I 
randomly get LyX crashing:
Assertion false violated in Coordcache.cpp:31.

Pavel


Re: List of notes not in beta1

2017-10-19 Thread Kornel Benko
Am Donnerstag, 19. Oktober 2017 um 14:00:27, schrieb racoon 
> My documents do not show the "Notes" list in the Outline pane in beta1. 
> Is that a bug?
> 
> Daniel

Insert a note first?

Kornel

signature.asc
Description: This is a digitally signed message part.


Re: make lyx versions distinguishable in desktop menus

2017-10-19 Thread Pavel Sanda
Kornel Benko wrote:
> Unix only:
> Using suffixed lyx, we install the lyx-desktop for different versions with
> different file name, but with the same 'Name'-entry.

Looks Ok. P


List of notes not in beta1

2017-10-19 Thread racoon
My documents do not show the "Notes" list in the Outline pane in beta1. 
Is that a bug?


Daniel



make lyx versions distinguishable in desktop menus

2017-10-19 Thread Kornel Benko
Unix only:
Using suffixed lyx, we install the lyx-desktop for different versions with
different file name, but with the same 'Name'-entry.

Selecting the desired version with the desktop menu is difficult if there
is more than one lyx version installed.

Kornel

signature.asc
Description: This is a digitally signed message part.
diff --git a/lib/lyx.desktop.in b/lib/lyx.desktop.in
index 68a5ccb..64ec892 100644
--- a/lib/lyx.desktop.in
+++ b/lib/lyx.desktop.in
@@ -1,7 +1,7 @@
 [Desktop Entry]
 Version=1.0
 Type=Application
-Name=LyX
+Name=LyX@program_suffix@
 GenericName=Document Processor
 Comment=High level LaTeX frontend
 Keywords=WYSIWYG;WYSIWYM;TeX;LaTeX;GUI;frontend;editor;