Hello,

I checked out LyX 1.3.0cvs today to see what is going on in the LyX community. As usual, I found a couple of things that could be improved :-) See my comments and bug reports in the attached file.

Some of the comments are very subjective. I apologize in advance if anybody feels offended.

Kind regards, Michael
The following comments refer to LyX 1.3cvs with the xforms frontend:

- gcc 3.2 (SuSE Linux 8.1) aborts compilation of 
  "boost/libs/regex/src/cregex.cpp" with an internal compiler error :-(
  Not your fault, of course :-) I had to remove a function to continue 
  compilation.

- Open "Save as..." -> Cancel -> Crash

  ==4262== Conditional jump or move depends on uninitialized value(s)
  ==4262==    at 0x80C5142: WriteAs(BufferView*, Buffer*, std::string const&) 
(/usr/include/g++/bits/basic_string.h:338)
  ==4262==    by 0x80DA4F4: LyXFunc::dispatch(FuncRequest const&, bool) (lyxfunc.C:963)
  ==4262==    by 0x80D9241: LyXFunc::dispatch(int, bool) 
(/usr/include/g++/bits/basic_string.h:229)
  ==4262==    by 0x820EEAB: Menubar::Pimpl::MenuCallback(flobjs_*, long) 
(../../../src/support/DebugStream.h:127)

- To say the truth: I don't like the new xforms dialogs. I understand
  that the former dialogs were a little bit large but the new ones 
  are way too condensed. Was is really necessary to save *every* 
  pixel? In a certain way, the dialogs conflict with my notion of an 
  estethic GUI. IMHO, e.g., boxes and input fields should not touch 
  each other (see the "vertical space" fields in the "Paragraph 
  layout" dialog). I can also imagine there are problems with 
  translations (In general, German words are larger than English words). 
  After all the changes, the thesaurus dialog is a waste of space :-)

- I still think that the error-prone "LyX code" paragraph style
  should be replaced by the "alltt" environment (which is part of 
  the LaTeX distribution) as soon as possible to get rid of legacy 
  code. An "alltt" inset should preserve spaces but the user must be 
  able to format the text (an early version of the
  ERT inset provided exactly this functionality)

- the NEWS file should list all new features (I couldn't find any
  at first glance)

- In mathed, vertical dots are not drawn correctly (especially when selected 
  many times in sequence in the math panel).

  ==4284== Conditional jump or move depends on uninitialised value(s)
  ==4284==    at 0x81433B7: MathCursor::targetX() const (math_cursor.C:631)
  ==4284==    by 0x8139C19: InsetFormulaBase::getCursorPos(BufferView*, int&, int&) 
const (formulabase.C:227)
  ==4284==    by 0x8139D75: InsetFormulaBase::fitInsetCursor(BufferView*) const 
(formulabase.C:286)
  ==4284==    by 0x813B7BC: InsetFormulaBase::localDispatch(FuncRequest const&) 
(formulabase.C:818)
  ==4284==

  ==4284== Use of uninitialised value of size 4
  ==4284==    at 0x8169747: mathed_draw_deco(MathPainterInfo&, int, int, int, int, 
std::string const&) (math_support.C:445)
  ==4284==    by 0x8172302: MathDotsInset::draw(MathPainterInfo&, int, int) const 
(math_dotsinset.C:46)
  ==4284==    by 0x8146D82: MathArray::draw(MathPainterInfo&, int, int) const 
(math_data.C:254)
  ==4284==    by 0x814E3BD: MathGridInset::draw(MathPainterInfo&, int, int) const 
(math_gridinset.C:400)

- Invocation of mathed (CTRL-M):

  ==4284== Use of uninitialised value of size 4
  ==4284==    at 0x404B638B: _IO_vfprintf (in /lib/libc.so.6)
  ==4284==    by 0x404D4334: _IO_vsnprintf (in /lib/libc.so.6)
  ==4284==    by 0x404BDD04: __snprintf (in /lib/libc.so.6)
  ==4284==    by 0x403FCE27: int std::__convert_from_v<long>(char*, int, char const*, 
long, __locale_struct* const&, int) (in /usr/lib/libstdc++.so.5.0.0)

- When starting LyX:

    Received unhandled X11 event
    Type: 13 Target: 0x260009c

- When exiting LyX:

  ==4284== Invalid read of size 4
  ==4284==    at 0x821A553: handle_bitmaptable (bmtable.c:217)
  ==4284==    by 0x82985F8: fl_handle_it (objects.c:1542)
  ==4284==    by 0x82988E4: fl_handle_object (objects.c:1572)
  ==4284==    by 0x82965B3: fl_free_object (objects.c:216)
  ==4284==    Address 0x43A81C68 is 48 bytes inside a block of size 52 free'd
  ==4284==    at 0x4003CD19: free (vg_clientfuncs.c:180)
  ==4284==    by 0x821A567: handle_bitmaptable (bmtable.c:221)
  ==4284==    by 0x82985F8: fl_handle_it (objects.c:1542)
  ==4284==    by 0x82988E4: fl_handle_object (objects.c:1572)
  ==4284==
  ==4284== Invalid free() / delete / delete[]
  ==4284==    at 0x4003CD19: free (vg_clientfuncs.c:180)
  ==4284==    by 0x821A567: handle_bitmaptable (bmtable.c:221)
  ==4284==    by 0x82985F8: fl_handle_it (objects.c:1542)
  ==4284==    by 0x82988E4: fl_handle_object (objects.c:1572)
  ==4284==    Address 0x43A81C38 is 0 bytes inside a block of size 52 free'd
  ==4284==    at 0x4003CD19: free (vg_clientfuncs.c:180)
  ==4284==    by 0x821A567: handle_bitmaptable (bmtable.c:221)
  ==4284==    by 0x82985F8: fl_handle_it (objects.c:1542)
  ==4284==    by 0x82988E4: fl_handle_object (objects.c:1572)

- Load example file "TableExamples.lyx" and scroll near the end of the
  document; set the cursor inside a table cell; scroll down to the 
  very end of the doc with the wheel of your mouse; then scroll up again
  -> the table with the cursor inside is not repainted

- The graphics dialog has been simplified which is a good thing. 
  However, I don't like to mix up "Scale" with "Width" - these
  are two different things that should be separated visually
  (even if it enlarges the dialog)! Moreover, it is not possible 
  to switch back to "Scale" once you have selected a width unit!

- Two comments on the paragraph dialog: If, e.g. "medskip" is selected,
  a value entered in the field below should be grayed out. (Once again,
  we can start an endless discussion on when a GUI is intuitive...)
  One of the oddities of LyX paragraphs are the "Above" and "Below"
  settings. Can you tell me (without thinking) what comes first: the line or
  the vertical space? Shouldn't lines and vertical spaces be provided 
  independently from paragraphs? This would also comply with the way LaTeX
  handles them.

- Tool tips should be introduced into the "Preferences" dialog.

- LyX 1.3.0cvs failed to save my 1.2.2 document (loading was no problem):

  ==4432== Conditional jump or move depends on uninitialised value(s)
  ==4432==    at 0x80C5142: WriteAs(BufferView*, Buffer*, std::string const&) 
(/usr/include/g++/bits/basic_string.h:338)
  ==4432==    by 0x80DA4F4: LyXFunc::dispatch(FuncRequest const&, bool) (lyxfunc.C:963)
  ==4432==    by 0x80D9241: LyXFunc::dispatch(int, bool) 
(/usr/include/g++/bits/basic_string.h:229)
  ==4432==    by 0x820EEAB: Menubar::Pimpl::MenuCallback(flobjs_*, long) 
(../../../src/support/DebugStream.h:127)
  ==4432==
  ==4432== Use of uninitialised value of size 4
  ==4432==    at 0x80C5177: WriteAs(BufferView*, Buffer*, std::string const&) 
(/usr/include/g++/i486-suse-linux/bits/atomicity.h:40)
  ==4432==    by 0x80DA4F4: LyXFunc::dispatch(FuncRequest const&, bool) (lyxfunc.C:963)
  ==4432==    by 0x80D9241: LyXFunc::dispatch(int, bool) 
(/usr/include/g++/bits/basic_string.h:229)
  ==4432==    by 0x820EEAB: Menubar::Pimpl::MenuCallback(flobjs_*, long) 
(../../../src/support/DebugStream.h:127)
  ==4432==
  ==4432== Invalid read of size 4
  ==4432==    at 0x80C5177: WriteAs(BufferView*, Buffer*, std::string const&) 
(/usr/include/g++/i486-suse-linux/bits/atomicity.h:40)
  ==4432==    by 0x80DA4F4: LyXFunc::dispatch(FuncRequest const&, bool) (lyxfunc.C:963)
  ==4432==    by 0x80D9241: LyXFunc::dispatch(int, bool) 
(/usr/include/g++/bits/basic_string.h:229)
  ==4432==    by 0x820EEAB: Menubar::Pimpl::MenuCallback(flobjs_*, long) 
(../../../src/support/DebugStream.h:127)
  ==4432==    Address 0xFFFFFFFC is not stack'd, malloc'd or free'd

- There are certainly many nice features that I wasn't able to appreciate
  within the short period of time.
  

Reply via email to