Package: xpdf-reader
Version: 3.02-1.1
Severity: normal
Tags: patch

When xpdf is in normal mode, using close menu (or Ctrl-W) closes current
document, but not xpdf.
In fullscreen mode, with one and only one document open, close menu (or
Ctrl-W) crashes the application.

In XPDFViewer::clear, some widgets belonging to the toolbar are
referenced (pageNumText, pageCountLabel, etc), but have not been
initialized if mode is fullscreen. I think this is the reason of the
crash.

I attach a modification that seems to fix this bug.


arno

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.21
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages xpdf-reader depends on:
ii  gsfonts       1:8.11+urwcyr1.0.7~pre41-3 Fonts for the Ghostscript interpre
ii  lesstif2      1:0.95.0-2+b1              OSF/Motif 2.1 implementation relea
ii  libc6         2.6.1-1                    GNU C Library: Shared libraries
ii  libfreetype6  2.3.5-1+b1                 FreeType 2 font engine, shared lib
ii  libgcc1       1:4.2.1-2                  GCC support library
ii  libice6       2:1.0.3-3                  X11 Inter-Client Exchange library
ii  libpaper1     1.1.21                     Library for handling paper charact
ii  libsm6        2:1.0.3-1+b1               X11 Session Management library
ii  libstdc++6    4.2.1-2                    The GNU Standard C++ Library v3
ii  libt1-5       5.1.0-2                    Type 1 font rasterizer library - r
ii  libx11-6      2:1.0.3-7                  X11 client-side library
ii  libxext6      1:1.0.3-2                  X11 miscellaneous extension librar
ii  libxp6        1:1.0.0.xsf1-1             X Printing Extension (Xprint) clie
ii  libxpm4       1:3.5.6-3                  X11 pixmap library
ii  libxt6        1:1.0.5-3                  X11 toolkit intrinsics library
ii  xpdf-common   3.02-1.1                   Portable Document Format (PDF) sui

xpdf-reader recommends no packages.

-- no debconf information
--- xpdf/XPDFViewer.cc.old	2007-08-13 22:41:36.000000000 +0200
+++ xpdf/XPDFViewer.cc	2007-08-13 23:01:07.000000000 +0200
@@ -400,18 +400,21 @@ void XPDFViewer::clear() {
   title = app->getTitle() ? app->getTitle()->getCString()
                           : (char *)xpdfAppName;
   XtVaSetValues(win, XmNtitle, title, XmNiconName, title, NULL);
-  s = XmStringCreateLocalized("");
-  XtVaSetValues(pageNumText, XmNlabelString, s, NULL);
-  XmStringFree(s);
-  s = XmStringCreateLocalized(" of 0");
-  XtVaSetValues(pageCountLabel, XmNlabelString, s, NULL);
-  XmStringFree(s);
 
-  // disable buttons
-  XtVaSetValues(prevTenPageBtn, XmNsensitive, False, NULL);
-  XtVaSetValues(prevPageBtn, XmNsensitive, False, NULL);
-  XtVaSetValues(nextTenPageBtn, XmNsensitive, False, NULL);
-  XtVaSetValues(nextPageBtn, XmNsensitive, False, NULL);
+  if (toolBar != None) {
+      s = XmStringCreateLocalized("");
+      XtVaSetValues(pageNumText, XmNlabelString, s, NULL);
+      XmStringFree(s);
+      s = XmStringCreateLocalized(" of 0");
+      XtVaSetValues(pageCountLabel, XmNlabelString, s, NULL);
+      XmStringFree(s);
+
+      // disable buttons
+      XtVaSetValues(prevTenPageBtn, XmNsensitive, False, NULL);
+      XtVaSetValues(prevPageBtn, XmNsensitive, False, NULL);
+      XtVaSetValues(nextTenPageBtn, XmNsensitive, False, NULL);
+      XtVaSetValues(nextPageBtn, XmNsensitive, False, NULL);
+  }
 
   // remove the old outline
 #ifndef DISABLE_OUTLINE

Reply via email to