Closed Bug 394413 Opened 17 years ago Closed 14 years ago

Get rid of MOZ_ENABLE_POSTSCRIPT

Categories

(Core :: Printing: Output, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: pavlov, Assigned: db48x)

References

Details

Attachments

(1 file, 1 obsolete file)

With cairo we don't have to keep around an entirely seperate postscript gfx backend and we should just get rid of the configure option and remove all the ifdefs associated with it.
Whiteboard: [wanted-1.9]
Attached patch 394413-1.diff (obsolete) — Splinter Review
Simply removes the USE_POSTSCRIPT define.
Assignee: nobody → db48x
Status: NEW → ASSIGNED
Attachment #284915 - Flags: review?
Attachment #284915 - Flags: review? → review?(shaver)
Flags: wanted1.9+
Whiteboard: [wanted-1.9]
Blocks: 392134
Comment on attachment 284915 [details] [diff] [review]
394413-1.diff

I'm not the right reviewer for this, but I'll sr when you're done!
Attachment #284915 - Flags: review?(shaver)
Daniel's patch appears to hardwire USE_POSTSCRIPT *on*.  I suspect what Stuart meant was to hardwire it *off*, i.e. delete all the code inside the #ifdefs (and then gfx/src/psshared can go away too).  I'm not sure though.  widget/src/gtk2/nsDeviceContextSpecG.cpp doesn't appear to be doing much of use if those #ifdefs are purged, but I can tell that in a standard ff3/linux build that that code is not being used -- we've got the native gtk printing dialog box instead.

Stuart, can you clarify?
Blocks: 430829
I believe Stuart meant to remove the psshared code completely, as cairo comes with its own postscript backend.

Daniel: Do you still want to work on this bug or should I take over?
I needed a break from border corners so I worked up a patch.  I first killed off the psshared directory and every reference to MOZ_ENABLE_POSTSCRIPT in the tree.  This left printing on Linux nonfunctional, so I then wrote just barely enough new code for nsDeviceContextSpecG.cpp to make it work again.

Before the patch can be applied, someone more familiar with the GTK printing logic needs to finish cleaning up nsDeviceContextSpecG.cpp.  I can't tell whether we actually need to know all of the things that the old code was trying to determine using the psshared API -- I think they're all accessible via the GTK printing API, but it might be that we should just let the library deal with them!

Windows and Mac printing should not be affected by this, as they already did not set MOZ_ENABLE_POSTSCRIPT.  What's left of the BeOS port did use it but I think that can be another problem for any hypothetical resurrector of that port.
Attachment #284915 - Attachment is obsolete: true
adding Daniel Holbert and Michael Ventnor to cc: as they were recently working on Gtk printing.
In bug 571989, whose goal is subdirectory pruning in gfx/,  I am taking the
less-risky approach of dumping the contents of gfx/src/psshared into
widget/src/gtk2 and stripping the #ifdefs (so the code in
nsDeviceContextSpecG.cpp that is currently #ifdef USE_POSTSCRIPT becomes
unconditionally defined).
This is now fixed by http://hg.mozilla.org/mozilla-central/rev/72b5eccbe07c from bug 571989, in the sense that the gfx/src/psshared directory and MOZ_ENABLE_POSTSCRIPT define no longer exist, and all of the related configure clutter is gone.

We are still using CUPS in a way that we probably should not be, and the files that were moved to widget/src/gtk2 from gfx/src/psshared are still in need of the good ol' chainsaw treatment.  I propose that we do that in bug 573039.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: