Package: xpdf-reader
Version: 3.02-1.3
Severity: normal

Hi,

since the fullscreen mode of xpdf is a real one and not just a big
aligned window, pressing the 'g' key ("Goto page ...") wants to set
focus on a widget that does not exist and thus crashes xpdf.

This is really ugly in a presentation, when somebody asks a question
afterwards and starts with "On slide 12 you ..." ;-)

I attached two distinct patches to apply (patch -p1 < foo.patch)
on the current xpdf source in Debian.

The first (fix.patch) adds an "if" which disallows pressing 'g' in
fullscreen mode.
So you have to press "M-f g 12 Ret M-f" to first switch fullscreen
off, go to slide 12 and toggle fullscreen mode again.

The second patch (feature.patch) goes another way.
Here the workflow on the question will be "g 12 Ret".
Pressing 'g' will add the known xpdf toolbar to the top of the
screen and set the focus on the page field.
After pressing Return, the toolbar will hide and slide 12 is displayed.
Also, after pressing 'g', a click on the slide will make the toolbar
go away, while some other action does no make it go away.
(It behaves as I like now.)

It also has a bug: the zoom value is not set correctly until you use it.

So, please, either apply the first patch to fix the segfault or
apply the second patch to get a nice (experimental though) feature for
xpdf presentations.

Regards,
  Stephan

PS: I haven't checked if the bug is fixed in a more recent or
    development version of xpdf.

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_US.ISO-8859-15, LC_CTYPE=en_US.ISO-8859-15 (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash

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

xpdf-reader recommends no packages.

-- no debconf information

-- 
Stephan Beyer <[EMAIL PROTECTED]>, PGP 0x6EDDD207FCC5040F
diff -ruN xpdf-3.02.old/xpdf/XPDFViewer.cc xpdf-3.02.fix/xpdf/XPDFViewer.cc
--- xpdf-3.02.old/xpdf/XPDFViewer.cc	2007-02-27 23:05:52.000000000 +0100
+++ xpdf-3.02.fix/xpdf/XPDFViewer.cc	2008-05-04 21:29:34.000000000 +0200
@@ -834,6 +834,9 @@
 
 void XPDFViewer::cmdFocusToPageNum(GString *args[], int nArgs,
 				   XEvent *event) {
+  if (core->getFullScreen()) {
+    return;
+  }
   XmTextFieldSetSelection(pageNumText, 0,
 			  strlen(XmTextFieldGetString(pageNumText)),
 			  XtLastTimestampProcessed(display));
diff -ruN xpdf-3.02.old/xpdf/XPDFViewer.cc xpdf-3.02.feature/xpdf/XPDFViewer.cc
--- xpdf-3.02.old/xpdf/XPDFViewer.cc	2007-02-27 23:05:52.000000000 +0100
+++ xpdf-3.02.feature/xpdf/XPDFViewer.cc	2008-05-04 21:14:44.000000000 +0200
@@ -444,11 +444,13 @@
 
 void XPDFViewer::displayPage(int pageA, double zoomA, int rotateA,
 			     GBool scrollToTop, GBool addToHist) {
+  hideFullScreenToolbar();
   core->displayPage(pageA, zoomA, rotateA, scrollToTop, addToHist);
 }
 
 void XPDFViewer::displayDest(LinkDest *dest, double zoomA, int rotateA,
 			     GBool addToHist) {
+  hideFullScreenToolbar();
   core->displayDest(dest, zoomA, rotateA, addToHist);
 }
 
@@ -791,6 +793,7 @@
 
 void XPDFViewer::cmdCloseWindow(GString *args[], int nArgs,
 				XEvent *event) {
+  hideFullScreenToolbar();
   app->close(this, gFalse);
 }
 
@@ -829,11 +832,25 @@
 
 void XPDFViewer::cmdFocusToDocWin(GString *args[], int nArgs,
 				  XEvent *event) {
+  hideFullScreenToolbar();
   core->takeFocus();
 }
 
 void XPDFViewer::cmdFocusToPageNum(GString *args[], int nArgs,
 				   XEvent *event) {
+  if (toolBar == None) {
+    int n = 0;
+    Arg myArgs[20];
+    initToolbar(form);
+    n = 0;
+    XtSetArg(myArgs[n], XmNleftAttachment, XmATTACH_FORM); ++n;
+    XtSetArg(myArgs[n], XmNrightAttachment, XmATTACH_FORM); ++n;
+    XtSetArg(myArgs[n], XmNtopAttachment, XmATTACH_FORM); ++n;
+    XtSetValues(toolBar, myArgs, n);
+
+    setButtonBitmaps();
+    updateCbk(this, NULL, core->getPageNum(), core->getDoc()->getNumPages(), NULL);
+  }
   XmTextFieldSetSelection(pageNumText, 0,
 			  strlen(XmTextFieldGetString(pageNumText)),
 			  XtLastTimestampProcessed(display));
@@ -930,6 +947,7 @@
 				     XEvent *event) {
   int pg;
 
+    puts("cmdGotoPage");
   pg = atoi(args[0]->getCString());
   if (pg < 1 || pg > core->getDoc()->getNumPages()) {
     return;
@@ -1009,11 +1027,13 @@
 
 void XPDFViewer::cmdPageDown(GString *args[], int nArgs,
 			     XEvent *event) {
+  hideFullScreenToolbar();
   core->scrollPageDown();
 }
 
 void XPDFViewer::cmdPageUp(GString *args[], int nArgs,
 			   XEvent *event) {
+  hideFullScreenToolbar();
   core->scrollPageUp();
 }
 
@@ -1046,6 +1066,7 @@
 
 void XPDFViewer::cmdQuit(GString *args[], int nArgs,
 			 XEvent *event) {
+  hideFullScreenToolbar();
   app->quit();
 }
 
@@ -1270,6 +1291,7 @@
 
 void XPDFViewer::cmdStartSelection(GString *args[], int nArgs,
 				   XEvent *event) {
+  hideFullScreenToolbar();
   core->startSelection(mouseX(event), mouseY(event));
 }
 
@@ -1440,24 +1462,29 @@
   }
   XmAddWMProtocolCallback(win, XInternAtom(display, "WM_DELETE_WINDOW", False),
 			  &closeMsgCbk, this);
+  
+  if (app->getGeometry()) {
+    n = 0;
+    XtSetArg(args[n], XmNgeometry, app->getGeometry()->getCString()); ++n;
+    XtSetValues(win, args, n);
+  }
+
+  n = 0;
+  form = XmCreateForm(win, "form", args, n);
+  XtManageChild(form);
 
   // create the full-screen window
   if (fullScreen) {
-    initCore(win, gTrue);
+    initCore(form, gTrue);
+    n = 0;
+    XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); ++n;
+    XtSetArg(args[n], XmNbottomAttachment, XmATTACH_FORM); ++n;
+    XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); ++n;
+    XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); ++n;
+    XtSetValues(core->getWidget(), args, n);
 
   // create the normal (non-full-screen) window
   } else {
-    if (app->getGeometry()) {
-      n = 0;
-      XtSetArg(args[n], XmNgeometry, app->getGeometry()->getCString()); ++n;
-      XtSetValues(win, args, n);
-    }
-
-    n = 0;
-    form = XmCreateForm(win, "form", args, n);
-    XtManageChild(form);
-
-#ifdef DISABLE_OUTLINE
     initToolbar(form);
     n = 0;
     XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); ++n;
@@ -1465,6 +1492,7 @@
     XtSetArg(args[n], XmNbottomAttachment, XmATTACH_FORM); ++n;
     XtSetValues(toolBar, args, n);
 
+#ifdef DISABLE_OUTLINE
     initCore(form, gFalse);
     n = 0;
     XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); ++n;
@@ -1474,13 +1502,6 @@
     XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); ++n;
     XtSetValues(core->getWidget(), args, n);
 #else
-    initToolbar(form);
-    n = 0;
-    XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); ++n;
-    XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); ++n;
-    XtSetArg(args[n], XmNbottomAttachment, XmATTACH_FORM); ++n;
-    XtSetValues(toolBar, args, n);
-
     initPanedWin(form);
     n = 0;
     XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); ++n;
@@ -2029,12 +2050,200 @@
 #endif
 }
 
+void XPDFViewer::hideFullScreenToolbar() {
+  if (core->getFullScreen() && toolBar != None) {
+    XtUnmanageChild(toolBar);
+    toolBar = None;
+  }
+}
+
+void XPDFViewer::setButtonBitmaps() {
+  int depth;
+  Pixel fg, bg, arm;
+
+  XtVaGetValues(backBtn, XmNdepth, &depth,
+		XmNforeground, &fg, XmNbackground, &bg,
+		XmNarmColor, &arm, NULL);
+  XtVaSetValues(backBtn, XmNlabelType, XmPIXMAP,
+		XmNlabelPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)backArrow_bits,
+					    backArrow_width,
+					    backArrow_height,
+					    fg, bg, depth),
+		XmNarmPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)backArrow_bits,
+					    backArrow_width,
+					    backArrow_height,
+					    fg, arm, depth),
+		XmNlabelInsensitivePixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)backArrowDis_bits,
+					    backArrowDis_width,
+					    backArrowDis_height,
+					    fg, bg, depth),
+		NULL);
+  XtVaSetValues(prevTenPageBtn, XmNlabelType, XmPIXMAP,
+		XmNlabelPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)dblLeftArrow_bits,
+					    dblLeftArrow_width,
+					    dblLeftArrow_height,
+					    fg, bg, depth),
+		XmNarmPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)dblLeftArrow_bits,
+					    dblLeftArrow_width,
+					    dblLeftArrow_height,
+					    fg, arm, depth),
+		XmNlabelInsensitivePixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)dblLeftArrowDis_bits,
+					    dblLeftArrowDis_width,
+					    dblLeftArrowDis_height,
+					    fg, bg, depth),
+		NULL);
+  XtVaSetValues(prevPageBtn, XmNlabelType, XmPIXMAP,
+		XmNlabelPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)leftArrow_bits,
+					    leftArrow_width,
+					    leftArrow_height,
+					    fg, bg, depth),
+		XmNarmPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)leftArrow_bits,
+					    leftArrow_width,
+					    leftArrow_height,
+					    fg, arm, depth),
+		XmNlabelInsensitivePixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)leftArrowDis_bits,
+					    leftArrowDis_width,
+					    leftArrowDis_height,
+					    fg, bg, depth),
+		NULL);
+  XtVaSetValues(nextPageBtn, XmNlabelType, XmPIXMAP,
+		XmNlabelPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)rightArrow_bits,
+					    rightArrow_width,
+					    rightArrow_height,
+					    fg, bg, depth),
+		XmNarmPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)rightArrow_bits,
+					    rightArrow_width,
+					    rightArrow_height,
+					    fg, arm, depth),
+		XmNlabelInsensitivePixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)rightArrowDis_bits,
+					    rightArrowDis_width,
+					    rightArrowDis_height,
+					    fg, bg, depth),
+		NULL);
+  XtVaSetValues(nextTenPageBtn, XmNlabelType, XmPIXMAP,
+		XmNlabelPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)dblRightArrow_bits,
+					    dblRightArrow_width,
+					    dblRightArrow_height,
+					    fg, bg, depth),
+		XmNarmPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)dblRightArrow_bits,
+					    dblRightArrow_width,
+					    dblRightArrow_height,
+					    fg, arm, depth),
+		XmNlabelInsensitivePixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)dblRightArrowDis_bits,
+					    dblRightArrowDis_width,
+					    dblRightArrowDis_height,
+					    fg, bg, depth),
+		NULL);
+  XtVaSetValues(forwardBtn, XmNlabelType, XmPIXMAP,
+		XmNlabelPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)forwardArrow_bits,
+					    forwardArrow_width,
+					    forwardArrow_height,
+					    fg, bg, depth),
+		XmNarmPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)forwardArrow_bits,
+					    forwardArrow_width,
+					    forwardArrow_height,
+					    fg, arm, depth),
+		XmNlabelInsensitivePixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)forwardArrowDis_bits,
+					    forwardArrowDis_width,
+					    forwardArrowDis_height,
+					    fg, bg, depth),
+		NULL);
+  XtVaSetValues(findBtn, XmNlabelType, XmPIXMAP,
+		XmNlabelPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)find_bits,
+					    find_width,
+					    find_height,
+					    fg, bg, depth),
+		XmNarmPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)find_bits,
+					    find_width,
+					    find_height,
+					    fg, arm, depth),
+		XmNlabelInsensitivePixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)findDis_bits,
+					    findDis_width,
+					    findDis_height,
+					    fg, bg, depth),
+		NULL);
+  XtVaSetValues(printBtn, XmNlabelType, XmPIXMAP,
+		XmNlabelPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)print_bits,
+					    print_width,
+					    print_height,
+					    fg, bg, depth),
+		XmNarmPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)print_bits,
+					    print_width,
+					    print_height,
+					    fg, arm, depth),
+		XmNlabelInsensitivePixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)printDis_bits,
+					    printDis_width,
+					    printDis_height,
+					    fg, bg, depth),
+		NULL);
+  XtVaSetValues(aboutBtn, XmNlabelType, XmPIXMAP,
+		XmNlabelPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)about_bits,
+					    about_width,
+					    about_height,
+					    fg, bg, depth),
+		XmNarmPixmap,
+		XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
+					    (char *)about_bits,
+					    about_width,
+					    about_height,
+					    fg, arm, depth),
+		NULL);
+}
+
 void XPDFViewer::mapWindow() {
 #ifdef HAVE_X11_XPM_H
   Pixmap iconPixmap;
 #endif
-  int depth;
-  Pixel fg, bg, arm;
 
   // show the window
   XtPopup(win, XtGrabNone);
@@ -2050,183 +2259,7 @@
 
   // set button bitmaps (must be done after the window is mapped)
   if (toolBar != None) {
-    XtVaGetValues(backBtn, XmNdepth, &depth,
-		  XmNforeground, &fg, XmNbackground, &bg,
-		  XmNarmColor, &arm, NULL);
-    XtVaSetValues(backBtn, XmNlabelType, XmPIXMAP,
-		  XmNlabelPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)backArrow_bits,
-					      backArrow_width,
-					      backArrow_height,
-					      fg, bg, depth),
-		  XmNarmPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)backArrow_bits,
-					      backArrow_width,
-					      backArrow_height,
-					      fg, arm, depth),
-		  XmNlabelInsensitivePixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)backArrowDis_bits,
-					      backArrowDis_width,
-					      backArrowDis_height,
-					      fg, bg, depth),
-		  NULL);
-    XtVaSetValues(prevTenPageBtn, XmNlabelType, XmPIXMAP,
-		  XmNlabelPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)dblLeftArrow_bits,
-					      dblLeftArrow_width,
-					      dblLeftArrow_height,
-					      fg, bg, depth),
-		  XmNarmPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)dblLeftArrow_bits,
-					      dblLeftArrow_width,
-					      dblLeftArrow_height,
-					      fg, arm, depth),
-		  XmNlabelInsensitivePixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)dblLeftArrowDis_bits,
-					      dblLeftArrowDis_width,
-					      dblLeftArrowDis_height,
-					      fg, bg, depth),
-		  NULL);
-    XtVaSetValues(prevPageBtn, XmNlabelType, XmPIXMAP,
-		  XmNlabelPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)leftArrow_bits,
-					      leftArrow_width,
-					      leftArrow_height,
-					      fg, bg, depth),
-		  XmNarmPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)leftArrow_bits,
-					      leftArrow_width,
-					      leftArrow_height,
-					      fg, arm, depth),
-		  XmNlabelInsensitivePixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)leftArrowDis_bits,
-					      leftArrowDis_width,
-					      leftArrowDis_height,
-					      fg, bg, depth),
-		  NULL);
-    XtVaSetValues(nextPageBtn, XmNlabelType, XmPIXMAP,
-		  XmNlabelPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)rightArrow_bits,
-					      rightArrow_width,
-					      rightArrow_height,
-					      fg, bg, depth),
-		  XmNarmPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)rightArrow_bits,
-					      rightArrow_width,
-					      rightArrow_height,
-					      fg, arm, depth),
-		  XmNlabelInsensitivePixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)rightArrowDis_bits,
-					      rightArrowDis_width,
-					      rightArrowDis_height,
-					      fg, bg, depth),
-		  NULL);
-    XtVaSetValues(nextTenPageBtn, XmNlabelType, XmPIXMAP,
-		  XmNlabelPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)dblRightArrow_bits,
-					      dblRightArrow_width,
-					      dblRightArrow_height,
-					      fg, bg, depth),
-		  XmNarmPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)dblRightArrow_bits,
-					      dblRightArrow_width,
-					      dblRightArrow_height,
-					      fg, arm, depth),
-		  XmNlabelInsensitivePixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)dblRightArrowDis_bits,
-					      dblRightArrowDis_width,
-					      dblRightArrowDis_height,
-					      fg, bg, depth),
-		  NULL);
-    XtVaSetValues(forwardBtn, XmNlabelType, XmPIXMAP,
-		  XmNlabelPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)forwardArrow_bits,
-					      forwardArrow_width,
-					      forwardArrow_height,
-					      fg, bg, depth),
-		  XmNarmPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)forwardArrow_bits,
-					      forwardArrow_width,
-					      forwardArrow_height,
-					      fg, arm, depth),
-		  XmNlabelInsensitivePixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)forwardArrowDis_bits,
-					      forwardArrowDis_width,
-					      forwardArrowDis_height,
-					      fg, bg, depth),
-		  NULL);
-    XtVaSetValues(findBtn, XmNlabelType, XmPIXMAP,
-		  XmNlabelPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)find_bits,
-					      find_width,
-					      find_height,
-					      fg, bg, depth),
-		  XmNarmPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)find_bits,
-					      find_width,
-					      find_height,
-					      fg, arm, depth),
-		  XmNlabelInsensitivePixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)findDis_bits,
-					      findDis_width,
-					      findDis_height,
-					      fg, bg, depth),
-		  NULL);
-    XtVaSetValues(printBtn, XmNlabelType, XmPIXMAP,
-		  XmNlabelPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)print_bits,
-					      print_width,
-					      print_height,
-					      fg, bg, depth),
-		  XmNarmPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)print_bits,
-					      print_width,
-					      print_height,
-					      fg, arm, depth),
-		  XmNlabelInsensitivePixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)printDis_bits,
-					      printDis_width,
-					      printDis_height,
-					      fg, bg, depth),
-		  NULL);
-    XtVaSetValues(aboutBtn, XmNlabelType, XmPIXMAP,
-		  XmNlabelPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)about_bits,
-					      about_width,
-					      about_height,
-					      fg, bg, depth),
-		  XmNarmPixmap,
-		  XCreatePixmapFromBitmapData(display, XtWindow(toolBar),
-					      (char *)about_bits,
-					      about_width,
-					      about_height,
-					      fg, arm, depth),
-		  NULL);
+    setButtonBitmaps();
   }
 }
 
diff -ruN xpdf-3.02.old/xpdf/XPDFViewer.h xpdf-3.02.feature/xpdf/XPDFViewer.h
--- xpdf-3.02.old/xpdf/XPDFViewer.h	2007-02-27 23:05:52.000000000 +0100
+++ xpdf-3.02.feature/xpdf/XPDFViewer.h	2008-05-04 20:57:55.000000000 +0200
@@ -181,6 +181,8 @@
   void initCore(Widget parent, GBool fullScreen);
   void initPopupMenu();
   void addToolTip(Widget widget, char *text);
+  void hideFullScreenToolbar();
+  void setButtonBitmaps();
   void mapWindow();
   void closeWindow();
   int getZoomIdx();

Attachment: signature.asc
Description: Digital signature

Reply via email to