Re: List of notes not in beta1
On 19.10.2017 15:25, Kornel Benko wrote: Am Donnerstag, 19. Oktober 2017 um 14:00:27, schrieb racoonMy 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
Le 19 octobre 2017 22:34:07 GMT+02:00, Patrick De Visscherea é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
This works as far as I can see. > On 19 Oct 2017, at 17:34, Jean-Marc Lasgoutteswrote: > > 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)
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
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 LasgouttesDate: 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)
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)
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
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: jpcDate: 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)
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)
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)
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)
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
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
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
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
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;