Hi,

thanks to the enormous efforts of Andre, I was able to remove a few math
bugs from my list. As usual, I found new bugs at the same time. In
particular, I would like to draw your attention to a memory leak
concerning "undo". Even though just about hundred bytes are lost each
time, the number may increase dramatically if a user edits a document
for a long time. This leak may also give some hints on why "undo"/"redo"
do not work correctly with (ERT) insets.

Kind regards, Michael

-- 
======================================================================
Michael Schmitt                            phone:     +49 451 500 3725
Institute for Telematics                   secretary: +49 451 500 3721
Medical University of Luebeck              fax:       +49 451 500 3722
Ratzeburger Allee 160              eMail: [EMAIL PROTECTED]
D-23538 Luebeck, Germany           WWW:   http://www.itm.mu-luebeck.de
======================================================================



   Bug list (with some proposals for simple improvements)

Please comment out (//) fixed bugs and send the file back to 

  [EMAIL PROTECTED] 

*************************************************************************

- Serious memory leak! Add three paragraphs to an empty document, 
  each consisting of only one letter (say "a", "b", and "c"); 
  press "CTRL-Z" -> "c" vanishes; cursor stays in third par (no mem leak); 
  press "CTRL-Z" again -> "b" vanishes; cursor stays in second par (mem leak)

      New memory leaked: 120 bytes (0.027%); potentially leaked: 0 bytes (0%)
         MLK: 84 bytes leaked at 0xae5338
         This memory was allocated from:
               malloc         [rtlib.o]
               __bUiLtIn_nEw  [new1.cc:84]
               __builtin_new  [rtlib.o]
               Paragraph::Paragraph(Paragraph*) [paragraph.C:91]
               Paragraph::breakParagraph(const BufferParams&,int,int) 
[paragraph.C:859]
               LyXText::breakParagraph(BufferView*,char) [text.C:1650]
               BufferView::Pimpl::Dispatch(kb_action,const lyxstring&) 
[BufferView_pimpl.C:2550]
               BufferView::Dispatch(kb_action,const lyxstring&) [BufferView.C:294]
               LyXFunc::dispatch(int,const lyxstring&) [lyxfunc.C:1623]
               LyXFunc::processKeySym(unsigned long,unsigned int) [lyxfunc.C:353]
               BufferView::Pimpl::workAreaKeyPress(unsigned long,unsigned int) 
[BufferView_pimpl.C:515]
               SigC::ObjectSlot2_<void,unsigned long,unsigned 
int,BufferView::Pimpl>::callback(void*,unsigned long,unsigned int) [object_slot.h:250]
               SigC::Signal2<void,unsigned long,unsigned 
int,SigC::Marshal<void>>::emit(const unsigned long&,const unsigned int&) [slot.h:456]
               WorkArea::work_area_handler(flobjs_*,int,int,int,int,void*) 
[basic_signal.h:450]
               C_WorkArea_work_area_handler [WorkArea.C:58]
               fl_handle_it   [objects.c]
               fl_handle_object [libforms.a]
               fl_handle_form [forms.c]
               do_keyboard    [forms.c]
               do_interaction_step [forms.c]
               fl_treat_interaction_events [libforms.a]
               fl_check_forms [libforms.a]
               GUIRunTime::runTime() [GUIRunTime.C:84]
               LyXGUI::runTime() [lyx_gui.C:316]
               LyX::LyX(int*,char**) [lyx_main.C:176]
               main           [main.C:38]
               _start         [crt1.o]
         MLK: 36 bytes leaked at 0xae5c28
         This memory was allocated from:
               malloc         [rtlib.o]
               __bUiLtIn_nEw  [new1.cc:84]
               __builtin_new  [rtlib.o]
               Paragraph::breakParagraph(const BufferParams&,int,int) 
[paragraph.C:859]
               LyXText::breakParagraph(BufferView*,char) [text.C:1650]
               BufferView::Pimpl::Dispatch(kb_action,const lyxstring&) 
[BufferView_pimpl.C:2550]
               BufferView::Dispatch(kb_action,const lyxstring&) [BufferView.C:294]
               LyXFunc::dispatch(int,const lyxstring&) [lyxfunc.C:1623]
               LyXFunc::processKeySym(unsigned long,unsigned int) [lyxfunc.C:353]
               BufferView::Pimpl::workAreaKeyPress(unsigned long,unsigned int) 
[BufferView_pimpl.C:515]
               SigC::ObjectSlot2_<void,unsigned long,unsigned 
int,BufferView::Pimpl>::callback(void*,unsigned long,unsigned int) [object_slot.h:250]
               SigC::Signal2<void,unsigned long,unsigned 
int,SigC::Marshal<void>>::emit(const unsigned long&,const unsigned int&) [slot.h:456]
               WorkArea::work_area_handler(flobjs_*,int,int,int,int,void*) 
[basic_signal.h:450]
               C_WorkArea_work_area_handler [WorkArea.C:58]
               fl_handle_it   [objects.c]
               fl_handle_object [libforms.a]
               fl_handle_form [forms.c]
               do_keyboard    [forms.c]
               do_interaction_step [forms.c]
               fl_treat_interaction_events [libforms.a]
               fl_check_forms [libforms.a]
               GUIRunTime::runTime() [GUIRunTime.C:84]
               LyXGUI::runTime() [lyx_gui.C:316]
               LyX::LyX(int*,char**) [lyx_main.C:176]
               main           [main.C:38]
               _start         [crt1.o]

  Pressing CTRL-Z a third time causes additional memory leaks of 240 bytes.
    
- Emphasize a word in plain text by pressing CTRL-e and select the word afterwards;
  Then open the Character dialog, set all options to "reset" (if possible) and
  press "Apply" -> the format of the selected word is not reset!
 
- "File->Exit" does not work while editing a math formula; 
  the same holds for opening/closing a file, changing paragraph layout... 

- Center paragraph with one line of text:

      UMR: Uninitialized memory read
      This is occurring while in:
            Spacing::set(Spacing::Space,const lyxstring&) [Spacing.C:64]
            FormParagraph::general_apply() [Spacing.h:46]
            FormParagraph::apply() [FormParagraph.C:168]
            FormBaseDeprecated::ok() [FormBaseDeprecated.h:91]
            FormBaseDeprecated::OKCB(flobjs_*,long) [FormBaseDeprecated.C:164]
            C_FormBaseDeprecatedOKCB [FormBaseDeprecated.C:38]
            fl_object_qread [libforms.a]
            fl_check_forms [libforms.a]
            GUIRunTime::runTime() [GUIRunTime.C:84]
            LyXGUI::runTime() [lyx_gui.C:316]
            LyX::LyX(int*,char**) [lyx_main.C:176]
            main           [main.C:38]
            _start         [crt1.o]
      Reading 4 bytes from 0xffbee74c on the stack.
      Address 0xffbee74c is local variable "fval" in function 
Spacing::set(Spacing::Space,const lyxstring&).

- In document class "scrreport", the default label width for "labeling"
  paragraphs is set to "00.00.0000". Does that really make sense?

  BTW: Wasn't this setting in the paragraph dialog? I cannot find it
  anymore... Where is it?

- When changing the document class for a given document, the screen output
  is confusing as the class list is not removed from the document layout
  dialog. In addition, the "Should I set some ..." dialog stays in the 
  background and the document layout dialog might be hidden behind the
  main LyX window after clicking "yes" in the Question dialog. 
  Confusing, isn'it? :-)

- "Language:" is not aligned correctly in the character dialog

- Add a table to an empty document; insert a few characters into the 
  table cells; then move the cursor in front of the table and invoke 
  "find" with a search string of your choice. When the end of the table
  is reached, the cursor is placed _in front_of the table again
  
  If you embed a table in some plain text, the cursor is placed
  at the beginning of the table after "find" even if search started 
  at the very beginning of the document and there is some text
  after the table!!!

- German "ö" (o umlaut) has a strange effect in mathed

- CTRL-space should insert a protected blank in mathed (but it doesn't) (#451291)

- Menu item "Insert/Special Character/Superscript" should be disabled in mathed
  since it does not have the desired effect (#451292).

- If I start LyX in my document directory, LyX should offer the current directory 
  as default location in the "Open..." dialog. But it always shows the home 
  directory instead. (#451293)

- Clicking into the right half of a footnote does not work (wrong cursor 
  placement) if there is some plain text after the footnote in the _same_ paragraph 

- The "OK" button in the math matrix dialog is not activated if you 
  do not change the settings

- malloc and delete do not cooperate!

      FMM: Freeing mismatched memory
      This is occurring while in:
            __builtin_delete [rtlib.o]
            FormMathsBitmap::~FormMathsBitmap() [utility.hpp:44]
            FormMathsPanel::~FormMathsPanel() [utility.hpp:44]
            Dialogs::~Dialogs() [utility.hpp:44]
            LyXView::~LyXView() [LyXView.C:73]
            XFormsView::~XFormsView() [XFormsView.C:65]
            LyXGUI::~LyXGUI() [lyx_gui.C:169]
            LyX::~LyX()    [lyx_main.C:184]
            main           [main.C:39]
            _start         [crt1.o]
      Attempting to free block at 0x150f2a8 in the heap.
      Address 0x150f2a8 is at the beginning of a malloc'd block of 264 bytes.
      This block was allocated from:
            malloc         [rtlib.o]
            calloc         [rtlib.o]
            fl_make_object [libforms.a]
            fl_create_bmtable [bmtable.c:53]
            FormMathsBitmap::addBitmap(int,int,int,int,int,const unsigned char*,bool) 
[FormMathsBitmap.C:105]
            FormMathsPanel::build() [FormMathsPanel.C:167]
            FormBaseDeprecated::show() [FormBaseDeprecated.C:86]
            SigC::ObjectSlot0_<void,FormBaseDeprecated>::callback(void*) 
[object_slot.h:56]
            SigC::Signal0<void,SigC::Marshal<void>>::emit() [slot.h:260]
            LyXFunc::dispatch(int,const lyxstring&) [basic_signal.h:172]
            Menubar::Pimpl::MenuCallback(flobjs_*,long) [Menubar_pimpl.C:581]
            C_Menubar_Pimpl_MenuCallback [Menubar_pimpl.C:529]
            fl_object_qread [libforms.a]
            fl_check_forms [libforms.a]
            GUIRunTime::runTime() [GUIRunTime.C:84]
            LyXGUI::runTime() [lyx_gui.C:316]
            LyX::LyX(int*,char**) [lyx_main.C:176]
            main           [main.C:38]
            _start         [crt1.o]
      This block of memory was obtained using an allocation routine which is
      not compatible with the routine by which it is being freed.

- The scroll button of a wheel mouse does not work with insets as the cursor
  is blocked ("hangs") at some position; the problem
  seems to occur if the cursor is set right after an inset (BTW: pressing
  CursorDown repetitively works! I thought this is equivalent???)
 
- Does configure really support "--with-included-gettext"? It is not
  listed in the summary at the end of the configure run
  (but "--with-included-string" is).

- autogen.sh still reports the following problem:
    Building Makefile templates...
            .
    configure.in: 969: required file `config/ltconfig' not found
  This happens with Mandrake Linux 7.2 (which is not that old) and SUN Sparc Solaris 
  (latest libtool) Despite the fact that it does not hurt: Shouldn't this be
  fixed to support distributions that are older than half a year?

- Insert a table into a table into a table. Then undo the last insertion
   -> the table cell size is not updated correctly (#451273)

- Insert/Special character/Linebreak shows a very strange behaviour within 
  mathed especially if you change from math formula to display formula 
  afterwards

- Is it possible to make a menu grey if all subitems are grey (as it is the
  case with Insert/Floats when you are editing a math formula)?

- Insert an ERT inside a text paragraph, delete it, undo the deletion
  and _undo_ once again 

      FMR: Free memory read
      This is occurring while in:
            textHandleUndo(BufferView*,Undo*) [undo_funcs.C:166]
            textUndo(BufferView*) [undo_funcs.C:46]
            BufferView::menuUndo() [BufferView2.C:232]
            LyXFunc::dispatch(int,const lyxstring&) [lyxfunc.C:1121]
            Menubar::Pimpl::MenuCallback(flobjs_*,long) [Menubar_pimpl.C:581]
            C_Menubar_Pimpl_MenuCallback [Menubar_pimpl.C:529]
            fl_object_qread [libforms.a]
            fl_check_forms [libforms.a]
            GUIRunTime::runTime() [GUIRunTime.C:84]
            LyXGUI::runTime() [lyx_gui.C:316]
            LyX::LyX(int*,char**) [lyx_main.C:175]
            main           [main.C:38]
            _start         [crt1.o]
      Reading 4 bytes from 0x13f143c in the heap.
      Address 0x13f143c is 116 bytes into a freed  block at 0x13f13c8 of 372 bytes.
      This block was allocated from:
            malloc         [rtlib.o]
            __bUiLtIn_nEw  [new1.cc:84]
            __builtin_new  [rtlib.o]
            BufferView::Pimpl::Dispatch(kb_action,const lyxstring&) 
[BufferView_pimpl.C:2710]
            BufferView::Dispatch(kb_action,const lyxstring&) [BufferView.C:294]
            LyXFunc::dispatch(int,const lyxstring&) [lyxfunc.C:1597]
            _GLOBAL_.N.__Q37Toolbar5Pimpl11toolbarItem::ToolbarCB(flobjs_*,long) 
[Toolbar_pimpl.C:273]
            C_Toolbar_ToolbarCB [Toolbar_pimpl.C:284]
            fl_object_qread [libforms.a]
            fl_check_forms [libforms.a]
            GUIRunTime::runTime() [GUIRunTime.C:84]
            LyXGUI::runTime() [lyx_gui.C:316]
            LyX::LyX(int*,char**) [lyx_main.C:175]
            main           [main.C:38]
            _start         [crt1.o]
      There have been 15045 frees since this block was freed from:
            free           [rtlib.o]
            __bUiLtIn_dElEtE [new2.cc:54]
            __builtin_delete [rtlib.o]
            InsetERT::~InsetERT() [inset.h:138]
            Paragraph::Pimpl::erase(int) [paragraph_pimpl.C:158]
            Paragraph::erase(int) [paragraph.C:468]
            CutAndPaste::cutSelection(Paragraph*,Paragraph**,int,int&,char,bool) 
[CutAndPaste.C:95]
            LyXText::cutSelection(BufferView*,bool) [text2.C:1709]
            BufferView::cut() [BufferView2.C:303]
            BufferView::Pimpl::Dispatch(kb_action,const lyxstring&) 
[BufferView_pimpl.C:2539]
            BufferView::Dispatch(kb_action,const lyxstring&) [BufferView.C:294]
            LyXFunc::dispatch(int,const lyxstring&) [lyxfunc.C:1597]
            LyXFunc::processKeySym(unsigned long,unsigned int) [lyxfunc.C:353]
            BufferView::Pimpl::workAreaKeyPress(unsigned long,unsigned int) 
[BufferView_pimpl.C:515]
            SigC::ObjectSlot2_<void,unsigned long,unsigned 
int,BufferView::Pimpl>::callback(void*,unsigned long,unsigned int) [object_slot.h:250]
            SigC::Signal2<void,unsigned long,unsigned 
int,SigC::Marshal<void>>::emit(const unsigned long&,const unsigned int&) [slot.h:456]
            WorkArea::work_area_handler(flobjs_*,int,int,int,int,void*) 
[basic_signal.h:450]
            C_WorkArea_work_area_handler [WorkArea.C:58]
            fl_handle_it   [objects.c]
            fl_handle_object [libforms.a]
            fl_handle_form [forms.c]
            do_keyboard    [forms.c]
            do_interaction_step [forms.c]
            fl_treat_interaction_events [libforms.a]
            fl_check_forms [libforms.a]
            GUIRunTime::runTime() [GUIRunTime.C:84]
            LyXGUI::runTime() [lyx_gui.C:316]
            LyX::LyX(int*,char**) [lyx_main.C:175]
            main           [main.C:38]
            _start         [crt1.o]

- Add a note to an empty document; add three lines of text into the note;
  cut some of the text (in all lines); undo the operation -> note is not
  drawn correctly ("past the end of the document") (#451286)

- Add a footnote to an empty document then add some text into the footnote;
  undo all operations (-> empty doc again), then redo all operations
  -> the footnote reappears but the text inside the footnote is lost
  (#451296)

- Remove those creatures from the splash screen for a more professional look'n'feel

- The display options in the new graphics inset should be added to the 
  preferences dialog; no distinction between grey-scaled and colored output

- Remove the old graphics inset (from GUI and from code
  if automatic conversion is activated and works satisfyingly)

- When selecting plain text with an embedded formula, the formula is not 
  highlighted (in particular check math macros)

- Navigate does not work for algorithms and figures (#437181)

- Package geometry should be selected automatically in the document
  layout dialog if "landscape" is chosen (landscape does not work  
  correctly otherwise; why???); Lgb et al.: Geometry button to be removed 
  from dialog

- Files in the examples/templates directory cannot be loaded correctly.
  Reason: "latex" has to be removed from/changed in layout files
  (#451260)

- Display of graphics on screen does not work despite the availability
  of "convert"

- The dots dialog in the math panel is drawn inaccurately; at the right
  a fine vertical bar is not drawn. (note: all other dialogs look OK)

- The math panel should be moved to the "Insert" menu
  (BTW: The panel does not meet any usability criteria; it should better 
  be replaced by a toolbar or a separate menu for easier access)

- After selecting the first few rows of a table, CTRL+Shift+CursorDown 
  corrupts the display output (#451274)

- In the label dialog, the buttons should be reordered ("ok"/"clear"/"cancel")

- When deleting the last row of a centered table, the table is moved to the
  right on screen (#451298)

- Citation labels should reflect their content, i.e. if only the year is chosen
  in the citation dialog, then the label should show the year afterwards.

- 1. Add a citation to your document; 2. Click at the citation; the dialog pops up
  3. Click at the box where you can choose between Author Year, Year, Author, etc.
  4. Click OK   -> A _new_ citation is added (this shouldn't happen)
  Unfortunately, hard to reproduce, occurs occasionally.

Feature request:

- Make data base entries in bibliography references visible in all loaded documents
  (very useful hack for citation dialog wrt multipart documents)

Reply via email to