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 ********************************************************************** BUGS: ----- GENERAL * Check FIXME, TODO, and #warning in the LyX code * Resolve compiler warnings especially this one: src/frontends/qt4/QPrefsDialog.C:944: warning: unused parameter 'nr' * Watch for bugzilla.lyx.org entries * Open bugs: http://tinyurl.com/y7hdzc (unconfirmed/new/assigned/reopened + no enhancement + no 1.6.0 target + not 'fixedintrunk') * Uncommitted patches: http://tinyurl.com/uvxat (unconfirmed/new/assigned/reopened + no 1.6.0 target + keyword 'patch') ICONS: * make all icons of the same size(s) FILE * agu-dtd is used as the default document class, which is not a good idea in 99% of all cases SPELL CHECKING (Joost 4/11/06) * Words with umlauts or accents do not arrive as a whole word in the spell checker. PARTIALLY FIXED (Georg 2006-12-10): pspell should work (untested), ispell works if lyxrc.isp_use_input_encoding == true, aspell works on linux, cygwin and native windows (it is not clear yet whether it works on OS X). ispell (if lyxrc.isp_use_input_encoding == false) does not work yet. * The cursor does not go to the currently checked word (or maybe it goes, but the screen is not updated so that one does not see the word). * When replacing a misspelled word during spell checking, the screen is not updated immediately. 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. * open Tutorial; click on TOC: TOC dialog has no contents; touch TOC slider => seg fault. DIALOGS * 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. * Open thesaurus dialog; look for keyword "hello" => seg fault (on Windows, strictly following Joost's recipe with MSVC and Scons) MATH CONTROL PANEL * In the math control panel, there is no icon for the "Fractions" button. * 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? MG: Why don't we enlarge the buttons? OTHER PANELS * If you open Edit>Text 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. This happens with qt >= 4.2 only, it does not happen with 4.1.4/4.1.5! FIXED on Linux (2006-12-24 JSpitzm). On Windows, the fix apparently doesn't work (according to Michael). * The visual table size selection on the the "Insert Table" dialog has 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). * Middle button paste does not work across windows. (Bo 12/15/06) TOOLBARS & MINIBUFFER * When toolbars are hidden, they pop up again after clicking on the document area (Joost 4/11/06). Comment by Bo: Can not reproduce, details please. TOOLTIPS: * Tooltips are no longer shown MENUS * 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. It turned out that this was a user error: a configuration file of 1.4 was used without the document flag. This should definitely be documented somewhere before the final release, because many users will copy their old config files. EDITING * Create a document with an empty table; mark the whole table; insert a minipage in order to have the table inside a minipage => crash Peter: could not reproduce it (2006-30-12) * edit->text style->capitalize/lower/upper case doesn't work due to change tracking-related changes. * the insertion of Ctrl-Return cannot be undone CHANGE TRACKING * No change bar is given in LaTeX output if (only) the par break has changed * In tables, cut & paste (complete cells) do not support change tracking * When accepting or rejecting changes, paragraphs with deleted par breaks are not merged (in top-level pars & in nested text insets) * When running "find & replace", the cursor is not moved forward, such that LyX always offers to replace the same string * LyX crashes if you want to accept/reject an end-of-par character only * accept/reject change are presently broken, because redoParagraph() and updateLabels() aren't invoked properly LAYOUT * environments when using czech translation doesnt work: e.g. itemize("Polozka") -> ERROR (layoutSelected): layout not found! (P. Sanda) PAINTING & PERFORMANCE * END_LABEL_* handling in RowPainer::paintLast() is broken. In regular text, label boxes are not completely visible (because we shrinked the margin on screen?). Inside of insets, they don't work at all. * 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.) PARTLY FIXED (Abdel 2006-11-20): except for math insets. * 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). - Solved problem with \int and \oint on Windows (Enrico 2006-12-06). MAC OS X * 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). * Menu bar disappears on MAC (instead of being disabled) when dialogs appear. WONT FIX (for 1.5.0) * 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 * TODO toolbar popup menu, currently disabled (Peter 9/11/06) * 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. ********************************************************************** 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. * 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. * 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. FIXED (Abdel 2006-11-25): Arguments are now passed to QApplication. * In the math control panel, "Detach panel" is broken (only 1 button is visible in the detached panel). FIXED (Edwin/Ugras 2006-11-XX) * Command completion in the minibuffer shows a huge blank area below the proposed commands. Clicking in that empty area crashes LyX. FIXED (????) * Copy/paste using middle mouse button inserts musical notes. FIXED (Abdel 2006-11): Confirmed by Michael who couldn't reproduce on SuSE Linux 9.3) * new document; insert note; place cursor in front of the note; activate change tracking; press delete => assertion failed FIXED (JMarc 2006-11) * new document; insert note; insert "hello" into note; place the cursor at the beginning of the note; activate change tracking; press backspace => seg fault FIXED (Michael 2006-11-25) * Mac Crash On quit (Bennett). FIXED (Peter 2006-11-20) * Drawing oddities on MAC (Bennett 3/11/06): Lines occasionally overlapping vertically, math characters not properly aligned vertically. FIXED (JMarc 2006-11). * 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. FIXED (Peter, 2006-11-28) * The -geometry option doesn't work on Windows (it did in 1.4.x) c:\> lyx-qt4.exe -geometry 800x600+100+30 Wrong command line option `-geometry'. Exiting. FIXED (Peter, 2006-11-29) * 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) FIXED (Michael (found the problem), Georg (fix), 2006-11-30) * 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. The first one is FIXED, the second WONTFIX (JMarc 07-12-2006) * Open de_Intro.lyx => The footnote text in the title section exceeds the footnote frame FIXED (Enrico 2006-12-09). This was due to wrong metrics for small caps. * Spell checking cannot be invoked a second time. FIXED (Georg 2006-12-10). Abdel accidentally committed some test code in revision 14970 which I reverted. * The first time the spell checker is started, an empty window shown instead of the first misspelled word. FIXED (Georg 2006-12-10). This bug had the same resaon as the previous one. * Create a new document; enter a few chars; press return; click on the previous paragraph with mouse to change the focus: lyx crashes. (happens on Win XP SP2, MSVC 2005 Prof., Scons) FIXED (JSpitzm 2006-12-11) * open lyx, create a new document, enter a few chars, quit, click cancel, lyx still quits. FIXED (Enrico 2006-12-12) * Non-ascii filenames do not work at all and result in an assertion or garbage. FIXED (Georg 2006-12-12). * LyX tries to delete /tmp if it is called with invalid arguments FIXED (Enrico 2006-12-13) * Start lyx, open a document, scroll down, open a new window, move the cursor back, lyx crashes because par::rows() is cleared when the new window is created. FIXED (Bo 2006-12-13) * Start lyx, open a doc, open another window for the same document. Now, from window A, click at paragraph X, scroll down to paragraph Y, switch to window B, click, switch back to window A. When mouse moves, editXY() finds the correct pit for paragraph Y, when click, editXY() finds paragraph X and scroll back to it. (Bo, 12/14/2006) FIXED (Abdel 2006-12-15) * In the citation dialog, the shortcut for "&Find" does not work FIXED (JSpitzm 2006-12-17) * Graphics dialog: The order of fields is broken (when using to jump from one field to another) FIXED (JSpitzm 2006-12-18) * Mysterious *.po entry: #: src/frontends/qt4/ui/QViewSourceUi.ui:31 msgid "" "

" msgstr "" FIXED (JSpitzm 2006-12-19) * 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. FIXED (Georg 2006-12-17). It turned out that it was a math parser problem (bug 3034). It was introduced by the conversion of mathed to unicode, because two methods Parser::tokenize() with different semantics existed. * In the splash screen, the LyX version number is printed with a very, very small font size such that it becomes almost invisible on Windows. FIXED (Enrico 2006-12-21) * Change Tools->Preferences->User interface->User interface to something like "kornel.default.ui"; save prefs; exit LyX; restart LyX; => crash; in the preferences file, there is an entry \bind_file "/Something/kornel.default" In QPrefsDialog.C:1736, function PrefUserInterface::select_ui() calls form_->controller().browseUI(qstring_to_ucs4(uiFileED->text()))) which in turn calls ControlPrefs.C:118 browseLibFile(lyx::from_ascii("ui"), file, lyx::from_ascii("ui"), _("Choose UI file"), FileFilterList(_("LyX UI files (*.ui)"))); In this function, the extension is removed, because it is the default ("ui" in this case). This behaviour applies to ControlPrefs::browsebind, ControlPrefs::browseUI ControlPrefs::browsekbmap, ControlPrefs::browsedict Setting the default extension here to something invalid, is a hack, but works. (Invalid may be e.g. "*") FIXED (Enrico and Georg 2006-12-21) * When loading a LyX file from a Windows directory with a German Umlaut, I get the following error: Assertion triggered in __thiscall lyx::support::FileName::FileName(const class std::basic_string,class std::allocator > &) by failing check "empty() || absolutePath(name_)" in file C:\...\src\support\filename.C:47 If I rename the directory (no Umlaut), I can load the file without a problem. FIXED (Enrico and Georg 2006-12-21) * when opening an already opened document (or a document with newer backup), the mouse pointer turns into a clock, although it waits for confirmation FIXED (Enrico 2006-12-21) * The style name in the BibTeX Bibliography panel (near the Browse... button) disappears after closing and reopening the panel. FIXED (Enrico 2006-12-22) * Create a new document; enter a few chars; press return; from the environments combo box on the top left corner select anything, e.g., 'Part'; try to enter text => you can't! MG: This must be a GUI problem; when using keyboard shortcuts (Alt-P-...), the problem does not occur; it does not matter whether the cursor is in the last line JSpitzm: The problem is that the workarea doesn't get focus after the combo selection. FIXED (Abdel 2006-12-24): centralWidget() was not the WorkArea due to the new TabBar support. * On Windows (using scons/MSVC): Create an empty bibtex file, called 'lit.bib'. Create a new LyX document 'lit.lyx' in the same directory that has a bibliography inset pointing to lit.bib. Now, if lit.[lyx|bib] are stored in a path with ASCII characters only, class FileName is used as follows: FileName::FileName(string const &): C:/foo/lit.lyx.emergency FileName::FileName(string const &): C:/foo/#lit.lyx# FileName::FileName(string const &): C:/foo/ FileName::FileName(string const &): C:/foo/lit.bib FileName::FileName(string const &): C:/lyx-trunk/build-msvc/bin FileName::FileName(string const &): C:/foo/lit.lyx,v FileName::FileName(string const &): C:/foo/RCS/lit.lyx,v FileName::FileName(string const &): C:/foo//CVS/Entries FileName::FileName(string const &): C:/foo/lit.lyx However, if the path contains a German Umlaut ("bäh"), LyX crashes: FileName::FileName(string const &): C:/bäh/lit.lyx.emergency FileName::FileName(string const &): C:/bäh/#lit.lyx# FileName::FileName(string const &): C:/bäh/ FileName::FileName(string const &): C:/bäh/lit.bib FileName::FileName(string const &): lit.bib Assertion triggered in __thiscall lyx::support::FileName::FileName(const class std::basic_string,class std::allocator > &) by failing check "empty() || absolutePath(name_)" in fil e C:\cygwin\home\ms\lyx-trunk\src\support\filename.C:48 Odd, isn't it? FIXED (Enrico (found problem) and Georg (fix) 2006-12-27) * open a document full of marginal notes (other insets should also work), select multiple insets from the begining twice, lyx crashed with QLayout::addChildWidget: lyx::frontend::QCommandBuffer "" in wrong parent; moved to correct parent Assertion triggered in void lyx::LyXText::dispatch(lyx::LCursor&, lyx::FuncRequest&) by failing check "cur.text() == this" in file src/text3.C:323 Abort FIXED (Bo 2006-12-27) * insert->note->lyx note, enter a few chars, collapse the note. Copy the note several times (three lines?), use mouse to select. Lyx crashes with Assertion triggered in void lyx::LyXText::dispatch(lyx::LCursor&, lyx::FuncRequest&) by failing check "cur.text() == this" in file src/text3.C:323 NOTE: this is unrelated to the button face-lift patch. FIXED (Bo 2006-12-27) * Open "de_Intro.lyx"; mark first word ("Einführung"); invoke "ert-insert" => seg fault FIXED (Abdel 2006-30-12) * The items in the treeview are editable FIXED (Peter 2006-30-12) * Open de_UserGuide.lyx; go to the end of the document; click into the footnote (with the mouse - this is important for the test case); add a character into the note => the complete footnote is expanded but only the current line is repainted FIXED (Abdel 2006-12-29): following Paragraph and LyXText metrics cleanup.