Debugging spree: ---------------- Rules: 1. Bugs that aim for 1.5.0 should be listed here. 2. Whoever fixes a bug sign his name before the bug and move it to the end of this file, along with a lyx-devel announcement. Prizes (donated by Michael): #1: LyX-labeled Tick Tock Wall Clock #2: LyX-labeled Coffee and Tea Mug #3: LyX-labeled Mousepad PENDING FEATURES: ----------------- BUGS: ----- FILE * When I "Save as..." in /tmp, I get a Backup error popup about non writable /tmp, which is obviously not true. The file is there, and if I try to Save as again, I get the overwrite popup warning twice: once in English, once in French. (J. P. Chretien) * Loading de_Userguide.lyx results in two parse errors: Paragraph ended in line 21206 Missing \end_layout. Paragraph ended in line 21301 Missing \end_layout. I don't know if that is a lyx2lyx or LyX problem. LyX 1.4 can read the file. SPELL CHECKING (Joost 4/11/06) * Spell checking cannot be invoked a second time. * The first time the spell checker is started, an empty window shown instead of the first misspelled word. * Words with umlauts or accents do not arrive as a whole word in the spell checker. BIBLIOGRAPHY TABLE OF CONTENTS * In TOC, the buttons "Up", "Down", "Promote", and "Demote" are not self-explaining. Why don't we group them in two pairs: Section Up/Down, Level Up/Down? The arrangement of the buttons may also give some hint to the user. * The items in the treeview are editable * When content (sections/captions) is changed, the toc/lof/lot is not properly updated. Abdel 2006-11-17: This one is not as simple as it seems as it involves a TocBackend update at each keystroke. Unless we manage to update a specific TocItem, this will be a WONTFIX for 1.5.0. DIALOGS * when opening an already opened document (or a document with newer backup), the mouse pointer turns into a clock, although it waits for confirmation * If you try to view a document as postscript that cannot be typeset because of LaTeX errors and export to LaTeX afterwards you will get the old error list again, although the export succeded. MATH CONTROL PANEL * In the math control panel, "Detach panel" is broken (only 1 button is visible in the detached panel). * In the math control panel, switching between different "functions" is broken (retry a couple of times). * In the math control panel, there is no icon for "Set Math Font". * In the math control panel, the buttons are too small. The reason is probably that qt resizes the icons so that they fit into the button, leaving some margin. This leads to different scales for each icon. qt3 did not resize the icons. Can this be set in qt4, too? OTHER PANELS * The visual table size selection on the the "Insert Table" dialog is gone (Joost 3/11/06). * The UI for bullet selection in the documents settings looks weird (Joost 4/11/06): There is a big listbox just to select one of the four levels. Isn't this supposed to be a drop-down list or something like that? * The bullet selection widget shows the bullets in 5 columns (instead of 6) for me, and hence does not fit into the window. (JSpitzm 2006-11-06) MULTIPLE WINDOWS / DOCUMENTS * There are cursor problems when the same document is opened in two windows (Joost 4/11/06). Information from Abdel: Yes, this is the famous dEPM bug (delete Empty Paragraph Mechanism). There are two ways to fix that: 1) the correct way: fix the dEPM to not invalidate the cursor. 2) the easy way: disable the cursor on focus out event and re-enable it at focus in event and jump the saved position (at focus out). * There should be a close button on the tabs (Joost 3/11/06). There is now a Qt feature request: http://www.trolltech.com/developer/task-tracker/index_html?id=137891&method=entry TOOLBARS & MINIBUFFER * When toolbars are hidden, they pop up again after clicking on the document area (Joost 4/11/06). * Icons in the toolbars do not have the correct size, they are stretched a few pixels compared to 1.4. This makes the images look jagged and the initial window size has also become to small to show the whole toolbar (Joost 4/11/06). See also the math panel buttons entry above. * TODO toolbar popup menu, currently disabled (Peter 9/11/06) * Command completion in the minibuffer shows a huge blank area below the proposed commands. Clicking in that empty area crashes LyX. EDITING * edit->text style->capitalize/lower/upper case doesn't work due to the change tracking-related changes. * Copy/paste using middle mouse button inserts musical notes. * new document; insert note; place cursor in front of the note; activate change tracking; press delete => Assertion triggered in void lyx::LyXText::setCursorIntern(lyx::LCursor&, int, int, bool, bool) by failing check "this == cur.text()" in file /home/software/lyx-trunk/src/text2.C:719 Relevant part of the stack trace #6 0x082646d0 in lyx::LyXText::setCursorIntern (this=0x8a081e0, cur=@0x88f3ed0, par=0, pos=0, setfont=true, boundary=false) at /home/software/lyx-trunk/src/text2.C:719 #7 0x08257dd7 in lyx::LyXText::erase (this=0x8a081e0, cur=@0x88f3ed0) at dociterator.h:94 #8 0x0811418a in lyx::LyXText::dispatch (this=0x8a081e0, cur=@0x88f3ed0, cmd=@0xbfffd7e0) at /home/software/lyx-trunk/src/text3.C:571 #9 0x0839617e in lyx::InsetText::doDispatch (this=0x8a081b8, cur=@0x88f3ed0, cmd=@0xbfffd7e0) at /home/software/lyx-trunk/src/insets/insettext.C:251 #10 0x08303536 in lyx::InsetBase::dispatch (this=0x8a081b8, cur=@0x88f3ed0, cmd=@0xbfffd7e0) at /home/software/lyx-trunk/src/insets/insetbase.C:132 * new document; insert note; insert "hello" into note; place the cursor at the beginning of the note; activate change tracking; press backspace => seg fault #0 0x08101348 in lyx::Paragraph::Pimpl::setChange (this=0x8a9e0a0, pos=0, change=@0xbfffca70) at paragraph.h:314 #1 0x080fda87 in lyx::Paragraph::setChange (this=0x0, pos=0, change=@0xbfffca70) at /home/software/lyx-trunk/src/paragraph.C:1432 #2 0x08248fa0 in lyx::breakParagraphConservative (bparams=@0x8a9d838, pars=@0x8a9d9e4, par_offset=0, pos=0) at changes.h:37 #3 0x08155fc2 in lyx::(anonymous namespace)::pasteSelectionHelper (cur=@0x88f3ed0, parlist=@0xbfffce70, textclass=6, errorlist=@0x8910b44) at /home/software/lyx-trunk/src/CutAndPaste.C:233 #4 0x0815a98d in lyx::cap::pasteParagraphList (cur=@0x88f3ed0, parlist=@0xbfffce70, textclass=6, errorList=@0x8910b44) at /home/software/lyx-trunk/src/CutAndPaste.C:630 #5 0x08258cb2 in lyx::LyXText::dissolveInset (this=0x8aacd38, cur=@0x88f3ed0) at /home/software/lyx-trunk/src/text.C:1844 #6 0x082588a8 in lyx::LyXText::backspace (this=0x8aacd38, cur=@0x88f3ed0) at /home/software/lyx-trunk/src/text.C:1756 MENUS LAYOUT * environments when using czech translation doesnt work: e.g. itemize("Polozka") -> ERROR (layoutSelected): layout not found! (P. Sanda) PAINTING & PERFORMANCE * Too much painting 2 (Edwin 3/11/2006): There is also a lot of painting going on when selecting text. When selecting a word the whole screen is repainted. PARTLY FIXED (Abdel 2006-11-20): there's a full repaint only when the mouse is released. More to come in this area. * Too much painting 1 (Edwin 3/11/2006): when i click in the workarea (to put the cursor in another part of the text) the screen is repainted *twice* whereas it seems to me that no repainting is necessary at all. PARTLY FIXED (Abdel 2006-11-20): except for math insets. * Too much painting 3 (Edwin 3/11/2006): the screen is repainted even when the selection does not change (moving the mouse with the left button pushed down always triggers a repaint). PARTLY FIXED (Abdel 2006-11-20): When within the main text inset only the current line is repainted. * The cursor is not L-shaped for foreign languages * Slowness on MAC 1 (Bennett 3/11/06): There seems to be a fraction of a second lag between when I press a key and when the letter appears on screen -- but the time lag doesn't obviously vary with the amount of text on the screen (as was the case previously). Right now, the speed of normal text entry makes LyX-1.5 usable on my not-fast-but-still-not-outdated computer. (Not sure how it would be on my slow-but-still-usable laptop.) * Slowness on MAC 2 (Bennett 3/11/06): Speed is still an issue typing in insets: noticeable lag between typing and text appearing on screen. This does not seem to be compounded by having nested insets, and it seems to be compounded only a little by the amount of text in the inset. (This is especially a problem in math environments.) * Slowness on MAC 3 (Bennett 3/11/06): Some operations that with 1.4 are pretty much instantaneous (inserting a footnote, dragging the mouse, switching to LyX from another application, opening dialogs, etc.) take quite a long time to complete in 1.5. * Some math symbols are not displayed (from Enrico Forestieri) I noticed that some math symbols are not shown on screen. This seems to be platform dependent. The following is a table illustrating the situation on three different platforms. Here "no" means that the symbol is not shown on screen (the symbol is invisible but occupies space: it is as a sort of \phantom), and "yes" that it is shown. --------------------------------------- Symbol Linux Solaris Cygwin --------------------------------------- \Omega no no no \int yes yes no \oint yes yes no \otimes no no no \nleqslant no no no \spadesuit(*) yes no yes --------------------------------------- (*) On solaris, a square is shown on screen instead of nothing. Further comments from Georg: This is probably a qt4 font drawing problem, since \Omega works fine in 1.4.3, and my debugging results showed that the correct font is found and used (cmr10). BUILDING * It is ridiculous that you have to call configure with --with-frontend=qt4. The existance of config/qt.m4 does not make much sense either. MAC OS X * Drawing oddities on MAC (Bennett 3/11/06): Lines occasionally overlapping vertically, math characters not properly aligned vertically. * Many issues with toolbars on MAC (Bennett 3/11/06): Most obvious of which are that icons are spaced too widely and that changes in the visibility of the toolbars with the GUI do not stick after the screen is redrawn). * Many issue with dialogs on MAC (Bennett 3/11/06): Most obviously: the Preferences dialog -- which can only be accessed now via keyboard command, not from the menu -- appears initially too small and must be resized; not possible to select buttons with the keyboard). The prefs dialog size should be better now. See below (JSpitzm-2006-11-07). * Some oddities with View menu on MAC (Bennett 3/11/06): DVI does not appear in the menu, even though a converter and viewer are defined in Preferences. * Menu bar disappears on MAC (instead of being disabled) when dialogs appear. * Mac Crash (Bennett 3/11/06): On launch from GUI (by double-clicking on the LyX icon). As I reported before, this happens only when using the GUI; I can successfully start LyX from the Terminal, with or without gdb. Hence the only debug information I get is this, printed out in Console.app when I try launching from the GUI (note that the number changes everytime): Wrong command line option `-psn_0_182321153'. Exiting. Hint from Andreas Vox: LyX must accept any option starting with '-psn' and pass it oon to the Qt initialisation. On Mac this gives the app a link to the Window system. * Mac Crash On quit (Bennett). Here's the backtrace: #0 std::string::compare (this=0x65646f75, __str=@0xdab7edc) at /opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.darwinports.org_dpupdate_dports_lang_gcc42/work/build/powerpc-apple-darwin8.8.0/libstdc++-v3/include/bits/basic_string.h:595 #1 0x006052ec in std::operator< , std::allocator > (__lhs=@0xda5da00, __rhs=@0xbffff0d8) at /opt/local/include/gcc42/c++/bits/stl_pair.h:2217 #2 0x0070421c in std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::find (this=0x11e8eb70, __k=@0xbffff0d8) at /opt/local/include/gcc42/c++/bits/stl_tree.h:1376 #3 0x007042c0 in std::map, std::less, std::allocator > > >::find (this=0x11e8eb70, __x=@0xbffff0d8) at /opt/local/include/gcc42/c++/bits/stl_map.h:541 #4 0x002857d8 in lyx::graphics::Cache::remove (this=0xb8e248, file=@0xbffff0d8) at GraphicsCache.C:90 #5 0x00286744 in lyx::graphics::Loader::Impl::resetFile (this=0x11e1f670, file=@0xbffff178) at GraphicsLoader.C:223 #6 0x00286950 in lyx::graphics::Loader::Impl::~Impl (this=0x11e1f670) at GraphicsLoader.C:204 #7 0x00706188 in boost::checked_delete (x=0x11e1f670) at ../../boost/boost/checked_delete.hpp:34 #8 0x0014c01c in lyx::graphics::PreviewImage::Impl::~Impl (this=0x140606c0) at PreviewImage.C:121 #9 0x006b1f80 in boost::checked_delete (x=0x140606c0) at ../../boost/boost/checked_delete.hpp:34 #10 0x006aeea4 in boost::checked_delete (x=0x11e4d8a0) at ../../boost/boost/checked_delete.hpp:34 #11 0x005fc478 in boost::detail::sp_counted_base::release (this=0x132a3db0) at ../boost/boost/detail/sp_counted_base_gcc_ppc.hpp:153 #12 0x006ae044 in std::pair >::~pair (this=0x1405efe0) at /opt/local/include/gcc42/c++/bits/stl_pair.h:69 #13 0x006ae32c in std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::destroy_node (this=0x11e60e80, __p=0x1405efd0) at /opt/local/include/gcc42/c++/bits/stl_tree.h:400 #14 0x006ae388 in std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase (this=0x11e60e80, __x=0x1405efd0) at /opt/local/include/gcc42/c++/bits/stl_tree.h:1325 #15 0x006ae3c0 in std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::~_Rb_tree (this=0x65646f75) at /opt/local/include/gcc42/c++/bits/stl_tree.h:592 #16 0x00141000 in lyx::graphics::PreviewLoader::Impl::~Impl (this=0x11e60e60) at PreviewLoader.C:428 #17 0x006b03d0 in boost::checked_delete (x=0x11e60e60) at ../../boost/boost/checked_delete.hpp:34 #18 0x00141560 in lyx::graphics::PreviewLoader::~PreviewLoader (this=0x65646f75) at PreviewLoader.C:286 #19 0x00680eec in boost::checked_delete (x=0x11e618d0) at ../../boost/boost/checked_delete.hpp:34 #20 0x005fc478 in boost::detail::sp_counted_base::release (this=0x11e5b040) at ../boost/boost/detail/sp_counted_base_gcc_ppc.hpp:153 #21 0x00680d08 in std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::destroy_node (this=0x11e6ebd0, __p=0x11e5e780) at /opt/local/include/gcc42/c++/bits/stl_tree.h:400 #22 0x00680d64 in std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase (this=0x11e6ebd0, __x=0x11e5e780) at /opt/local/include/gcc42/c++/bits/stl_tree.h:1325 #23 0x00680d9c in std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::~_Rb_tree (this=0x65646f75) at /opt/local/include/gcc42/c++/bits/stl_tree.h:592 #24 0x00680dd8 in boost::checked_delete (x=0x11e6ebd0) at ../../boost/boost/checked_delete.hpp:34 #25 0x000c25f4 in lyx::graphics::Previews::~Previews (this=0x65646f75) at Previews.C:58 #26 0x00002f38 in cxa_atexit_wrapper (routine_param=0xc260c) at ../../gcc-4.2-20060729/gcc/config/darwin-crt3.c:402 CREDITS: -------- * Performance on Windows is bad. On my system, scrolling the User Guide takes 10 seconds with LyX 1.4 and more than 30 seconds with LyX 1.5. FIXED (Abdel 04/11/06): This was due to spurious message in QLPainter.C, * When I have the same document in two windows, only the last selected paragraph in one of the windows gets updated. FIXED (Abdel 04/11/06): This was due my singlePar optimization. With my last commit, the optimization is enabled only if the WorkArea has the focus. * No icon for "note-next" in the "review" toolbar. ADDED (JSpitzm 2006-11-04). * Branches gui broken (buttons do nothing). FIXED (JSpitzm 2006-11-04). * The title bar does not contain the document name when a new window is opened (Joost 4/11/06). FIXED (Abdel 05/11/06): This was due to "last_title" being a static variable in LyXView::updateWindowTitle() and also due to a potential bug in Qt: an update command to the window title seems to be ignored up until the window is shown. * src/frontends/qt4/ui/QCitationUi.ui:70 "&Selected citations:" should be "&Selected Citations:". FIXED (MGerz 2006-11-05) * In the "Math Delimiters" dialog, there is no need to repeat the term "Size" for all values in the selection box; the label is already named "Size" FIXED (MGerz 2006-11-05) * If you open Document>Settings... or Tools>Preferences... for the first time, the dialog is much too small to show its content; if you invoke it the second time, everything is fine. This happens with qt 4.2.1 only, it does not happen with 4.1.4/4.1.5! FIXED (JSpitzm-2006-11-06): force updateGeometry() after the panelstack has been created (with Qt >= 4.2 only). A brute method, but it works. * If you open Edit>Test Style... for the first time, the choice text for "Never Toggled>Size" doesn't fit in the selection box (note that in German, texts are a bit longer than in English). Interestingly, if you invoke the dialog a second time, its button sizes are adjusted to their content. WONTFIX: This happens with qt >= 4.2 only, it does not happen with 4.1.4/4.1.5! (or maybe try to add an updateGeonetry() call somewhere as well; JSpitzm). * All label and button texts in the Qt4 dialogs are not translated. FIXED (MGerz 2006-11-07) * Some English menu items don't have a '&' character. (box, date, paste...) FIXED (MGerz 2006-11-07). I added shortcut whereever possible. * When changing the toolbar settings in the right-button context menu of a visible toolbar, the modified settings are not considered for session management REPLACED with a new entry, popup disabled (Peter 2006-11-09) * Toolbars always show on the top of the screen, even though they are set to "bottom" in the ui file (Joost 3/11/06). FIXED: use the defaul.ui value only when there is no valid position stored (1st start of lyx) (Peter 7/11/2006) * Window positions are not remembered correctly. Each time a window is openend window again it has moved towards the bottom of the screen. (Joost 3/11/06) FIXED (Peter 8/11/2006) * Special handling of [[...]] in text messages is disabled in messages.C FIXED (Georg 2006-11-12) * broken signal/slot connection: Object::connect: No such signal LengthCombo::selectionChanged(LyXLength::UNIT) Object::connect: (sender name: 'unitCO') Object::connect: (receiver name: 'QVSpaceUi') FIXED (JSpitzm 2006-11-12) * Cursor is still not visible on MAC Bennett (3/11/06). FIXED (Abdel 2006-11-13) * crash on Windows/Mac 1. new document 2. insert List/TOC->Bibtex Bilio 3. add a bibliography 4. View Source ->crash FIXED (Peter 2006-11-14) * In the TOC dialog, switching between the different TOC types (TOC, Table, Float, etc.) is broken. FIXED (Ugras) * In the TOC dialog, the slider for altering the display level is non-functional (not implemented). FIXED (Ugras 2006-11-17) * The correct list is not selected when right-clicking on a LOF or LOT inset. FIXED (Ugras 2006-11-17) * When selecting a type which *is* already selected, the content in the browser window vanishes FIXED (Ugras 2006-11-17) * TOC crashes (simply make a few sections, subsections, sections; then add TOC before all sections and click on the left button) FIXED (Abdel, sometimes in november 2006). * Items in the TOC cannot be moved using drag & drop (Joost 4/11/06). WONTFIX (Abdel 2006-11-17): at least not for 1.5.0, this is just candy anyway. * M-x is broken (does not bring up the minibuffer). FIXED (Bo, 2006-11-18): set toolbar flag in display function. * open a file; mark with the mouse and scroll; assert will fail: FIXED (Abdel 2006-11-20): side effect of updateMetrics() cleanup. * Selection highlighting is broken. Test case: two paragraphs with "Hello" and "World"; move cursor past "Wor", press Shift+Up FIXED (Abdel 2006-11-20): side effect of updateMetrics() cleanup.