Re: [LyX/master] Get rid of ParagraphMetrics::insetDimension

2016-11-09 Thread Scott Kostyshak
On Tue, Nov 08, 2016 at 05:21:45PM +0100, Jean-Marc Lasgouttes wrote:

> What happens is in pasteSelectionHelper: the code notices that the branch
> does not exist and tries to be helpful by proposing to create a new branch.
> This breaks because at this point the metrics have not been computed (a
> dialog is show, and the workarea tries to make the cursor blink).

Thanks for this explanation. That explains things.

I tested on current master and it works as expected now.

Scott


signature.asc
Description: PGP signature


Re: [LyX/master] Get rid of ParagraphMetrics::insetDimension

2016-11-09 Thread Jean-Marc Lasgouttes

Le 08/11/2016 à 17:21, Jean-Marc Lasgouttes a écrit :

Fixing the crash properly would imply to avoid this stupid alert dialog.
I suspect that the best way would be -- finally -- to implement the
private cut/paste needed for insetInset, that has been requested for
ages (don't know the bug number, sorry).


I just did that at fb264663d, fixing old timer bug #6570. Please test 
and rejoice.

http://www.lyx.org/trac/ticket/6570

JMarc



Re: [LyX/master] Get rid of ParagraphMetrics::insetDimension

2016-11-08 Thread Jean-Marc Lasgouttes

Le 07/11/2016 à 21:42, Scott Kostyshak a écrit :

This commit leads to an assertion for me at line 31 (of current master)
of CoordCache.cpp.


My first thought was to look at the symptom: what this commit does is 
replace a function (insetDimension) that does not assert when inset 
metrics is not known by another one (Inset::dimension) that does assert.


So I first made a patch that does not assert in this case.

And then I thought: why does it assert?


To reproduce:

1. open the attached file, undefined_branch.21.lyx.
2. put the cursor at the beginning, to the left of the branch.
3. press shift+ to highlight the branch.
4. go to Insert > Branch > Insert New Branch, put "newBranch" and press
"OK".


What happens is in pasteSelectionHelper: the code notices that the 
branch does not exist and tries to be helpful by proposing to create a 
new branch. This breaks because at this point the metrics have not been 
computed (a dialog is show, and the workarea tries to make the cursor 
blink).


It has already been found that this behavior is a nuisance (see 
5c63944ec25 that creates a workaround for a different case).


Fixing the crash properly would imply to avoid this stupid alert dialog. 
I suspect that the best way would be -- finally -- to implement the 
private cut/paste needed for insetInset, that has been requested for 
ages (don't know the bug number, sorry).


JMarc



Re: [LyX/master] Get rid of ParagraphMetrics::insetDimension

2016-11-07 Thread Scott Kostyshak
On Mon, Oct 19, 2015 at 01:18:03PM +0200, Jean-Marc Lasgouttes wrote:
> commit 26eb5092fb69464d181caaf212d6a4d9c9cff2f0
> Author: Jean-Marc Lasgouttes 
> Date:   Mon Oct 12 16:11:58 2015 +0200
> 
> Get rid of ParagraphMetrics::insetDimension
> 
> We already have a CoordCache of insets dimensions. It is not necessary
> to store the same information in two places.
> 
> Give a name to CoordCache tables types to improve code readability.
> 
> Remove ParagraphMetrics::singleWidth, which is not used anymore.

This commit leads to an assertion for me at line 31 (of current master)
of CoordCache.cpp.

To reproduce:

1. open the attached file, undefined_branch.21.lyx.
2. put the cursor at the beginning, to the left of the branch.
3. press shift+ to highlight the branch.
4. go to Insert > Branch > Insert New Branch, put "newBranch" and press
"OK".

I do not get an assertion if the branch being highlighted is a defined
branch.

Scott
#LyX 2.2 created this file. For more info see http://www.lyx.org/
\lyxformat 474
\begin_document
\begin_header
\textclass article
\use_default_options true
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_math auto
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 1
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\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
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Standard
\begin_inset Branch notDefined
status open

\begin_layout Standard
hello
\end_layout

\end_inset


\end_layout

\end_body
\end_document


signature.asc
Description: PGP signature