Package: pan Version: 0.133-1.1 Severity: normal Tags: patch When "Show Matching Articles' Threads" is set, sometimes some articles (and their whole threads) are missing from the headers pane. Selecting "Show Matching Articles" (or "Show Matching Articles' subthreads") and then "Show Matching Articles' Threads" again sometimes help.
I've been able to reproduce it on specific articles. What was "special" about these articles is that they were in newsgroup A, but had references (in the References header) to articles in another newsgroup B. In pan/data-impl/my-tree.cc (see attached patch for exact place), the assumption is made that, for each article N: thread of N == thread of parent of N This is true only if the parent of N is known! If the parent of N is not in the current newsgroup (or not in the downloaded headers), then "thread of parent of N" is empty, because "parent of N" does not exist. The attached patch fixes this. -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores) Locale: LANG=fr_LU.UTF-8, LC_CTYPE=fr_LU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages pan depends on: ii aspell 0.60.6-2 GNU Aspell spell-checker ii libatk1.0-0 1.28.0-1 The ATK accessibility toolkit ii libc6 2.10.2-3 Embedded GNU C Library: Shared lib ii libcairo2 1.8.8-2 The Cairo 2D vector graphics libra ii libfontconfig1 2.8.0-2 generic font configuration library ii libfreetype6 2.3.11-1 FreeType 2 font engine, shared lib ii libgcc1 1:4.4.2-8 GCC support library ii libglib2.0-0 2.22.3-2 The GLib library of C routines ii libgmime-2.0-2a 2.2.22-5 MIME library ii libgtk2.0-0 2.18.5-1 The GTK+ graphical user interface ii libgtkspell0 2.0.13-2 a spell-checking addon for GTK's T ii libpango1.0-0 1.26.2-1 Layout and rendering of internatio ii libpcre3 7.8-3 Perl 5 Compatible Regular Expressi ii libstdc++6 4.4.2-8 The GNU Standard C++ Library v3 ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime pan recommends no packages. pan suggests no packages. -- no debconf information
only in patch2: unchanged: --- pan-0.133.orig/pan/data-impl/my-tree.cc +++ pan-0.133/pan/data-impl/my-tree.cc @@ -183,13 +183,14 @@ // maybe include threads or subthreads... if (_show_type == Data::SHOW_THREADS) { - foreach (const_nodes_v, pass, it) { - const ArticleNode *& n (*it); - while (n->_parent) - n = n->_parent; + const_nodes_v passcopy=pass; + foreach (const_nodes_v, passcopy, it) { + const ArticleNode *n (*it); + while ((n = n->_parent)) + pass.push_back(n); } std::sort (pass.begin(), pass.end(), compare); pass.erase (std::unique (pass.begin(), pass.end()), pass.end()); //std::cerr << LINE_ID << " reduces to " << pass.size() << " threads\n"; }