diff options
author | Roland Mainz <roland.mainz@nrubsig.org> | 2005-04-11 01:06:15 +0000 |
---|---|---|
committer | Roland Mainz <roland.mainz@nrubsig.org> | 2005-04-11 01:06:15 +0000 |
commit | 4d8b36adf2024e6c28ecd266fb3585fdbc2c66f2 (patch) | |
tree | eb7f7b4b6123ad476acc90ec5d8463b5db599dd7 /print.c | |
parent | c4d739517989871ad786fd0f5e0ae6a683f7e92f (diff) |
xc/programs/Xserver/Xprint/attributes.csco_port_update-baseXORG-6_8_99_900XORG-6_8_99_9XORG-6_8_99_8XORG-6_8_99_7XORG-6_8_99_6XORG-6_8_99_5XORG-6_8_99_4XORG-6_8_99_3XORG-6_8_99_16XORG-6_8_99_15XORG-6_8_99_14XORG-6_8_99_13XORG-6_8_99_12XORG-6_8_99_11XORG-6_8_99_10sco_port_update
xc/programs/glxgears/glxgears.c
xc/programs/xdbedizzy/xdbedizzy.c
xc/programs/xedit/Imakefile
xc/programs/xedit/Xedit-xprint.ad
xc/programs/xedit/util.c
xc/programs/xedit/xedit.h
xc/programs/xlogo/print.c
xc/programs/xlogo/xlogo.c
xc/programs/xlogo/xlogo.h
xc/programs/xman/Imakefile
xc/programs/xman/print.h
xc/programs/xmore/Imakefile
xc/programs/xmore/print.c
xc/programs/xmore/print.h
xc/programs/xmore/printdialog.c
xc/programs/xphelloworld/xpawhelloworld/xpawhelloworld.c
xc/programs/xphelloworld/xphelloworld/xphelloworld.c
xc/programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld.c
xc/programs/xphelloworld/xpxmhelloworld/xpxmhelloworld.c
//bugs.freedesktop.org/show_bug.cgi?id=790) attachment #2379
(https://bugs.freedesktop.org/attachment.cgi?id=2379) Implement support
client+Xserver support for passing output (stdout+stderr) of the
spooler command started by the Xprint server back to the application
using the "xp-spooler-command-results" XPJobAttr attribute
(applications can fetch the attribute value after the XPEndJobNotify
event was received; more details can be found in
http://xprint.mozdev.org/docs/dtprint_fspec.ps).
Diffstat (limited to 'print.c')
-rw-r--r-- | print.c | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -111,6 +111,8 @@ PageSetupCB(Widget widget, XtPointer client_data, XtPointer call_data) void FinishPrinting(AppPrintData *p) { + char *scr; + if (p->printtofile_handle) { if (XpuWaitForPrintFileChild(p->printtofile_handle) != XPGetDocFinished) { fprintf(stderr, "%s: Error while printing to file.\n", ProgramName); @@ -118,6 +120,27 @@ void FinishPrinting(AppPrintData *p) p->printtofile_handle = NULL; } + /* Job completed, check if there are any messages from the spooler command */ + scr = XpGetOneAttribute(p->pdpy, p->pcontext, XPJobAttr, "xp-spooler-command-results"); + if( scr ) + { + if( strlen(scr) > 0 ) + { + const char *msg = XpuCompoundTextToXmb(p->pdpy, scr); + if( msg ) + { + Msg(("Spooler command returned '%s'.\n", msg)); + XpuFreeXmbString(msg); + } + else + { + Msg(("Spooler command returned '%s' (unconverted).\n", scr)); + } + } + + XFree((void *)scr); + } + if (p->printshell) { XtDestroyWidget(p->printshell); p->printshell = NULL; |