Closed
Bug 126802
Opened 23 years ago
Closed 16 years ago
Printing while in print preview disabled on Unix
Categories
(Core :: Print Preview, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: bzbarsky, Assigned: leon.sha)
References
Details
Attachments
(1 file)
460 bytes,
patch
|
roc
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
BUILD: Linux 2002-02-20-08 STEPS TO REPRODUCE: 1) Open a webpage 2) Selecte File > Print Preview 3) Click the "Print..." button EXPECTED RESULTS: A print dialog. ACTUAL RESULTS: An alert saying "You cannot print while in print preview". NOTE: This is because the "print.whileInPrintPreview" pref is set to false in unix.js. Is there a reason for this? Is there UI for this pref somewhere? Printing while in p
Comment 1•23 years ago
|
||
bz: The reason why this was turned off is that we have tons of global vars in both PostScript and Xprint module which cannot be shared by multiple instances of nsDeviceContextPS/nsFontMetricsPS(PostScript module) or nsDeviceContextXp/nsFontMetricsXlib(Xprint module). If we try to share the global vars we corrupt the heap (try it yourself and watch the output of rational purify... =:-) - and crash sooner or later. Print preview already needs one device context, therefore there is no one left for printing itself. Shareing the device context between print preview and print system does not work either as the user may change properies in the nsIPrintSettings via the print dialog (and print dialog startup calls InitPrintSettingsFromPrinter() which cleans the object, too). rods filed bug 119491 ("Cleanup global vars in PostScript and Xprint modules") to get that fixed, however this requires to move massive amounts of code as each reference to a global var/object has to be touched. The fix is easy but I do not know whether anyone will approve such a code change before 1.0. If you find a driver who says "OK for that before 1.0" will start hacking the patch...
Depends on: 119491
Comment 2•23 years ago
|
||
If bug 119491 is not going to be fixed for mozilla1.0 then we should hide the print button on unix (although this seems like quite a user experience hit). Nominate this bug if we are planning to hide the print button on unix.
Target Milestone: --- → Future
Reporter | ||
Comment 3•23 years ago
|
||
Ah, OK. In that case, please just remove the "Print..." button on Unix for now till that bug is fixed (dymically set display:none based on the pref value should work fine).
Reporter | ||
Comment 4•23 years ago
|
||
Er... like "We should do what Samir said". The user experience hit of a print button that pops up modal alerts is much greater than the hit of a hidden (or even just disabled) print button.
Comment 5•23 years ago
|
||
bug 119491 can be fixed before 1.0, but I'd like to have somehow the gurantee that noone blocks the patch. I do not want to spend two or more sleepless days to hack&test the patch and then get the message "thumbs down, not for 1.0" - which would cause bitrot in the patch (which is very very bad for large patches, I am expecting that the patch size will be beyond 250k). { hack patch, request r=, sleep, fix review issues, request sr=, sleep, fix superreview issues, check it in } should be "done" in less than one week if possible...
Reporter | ||
Comment 6•23 years ago
|
||
Brendan, would a patch for this be able to get a= for 1.0?
Comment 7•23 years ago
|
||
No, actually this bug is worse than that. If you are in PrintPreview you cannot change any settings and redo PP without a crash. See Bug 127627
Comment 9•23 years ago
|
||
nsbeta1+ per Nav triage team. If possible, we should fix this by just getting rid of the print button in PP in Linux. ->1.0
Comment 10•23 years ago
|
||
Peter Trudelle wrote: > nsbeta1+ per Nav triage team. If possible, we should fix this by just getting > rid of the print button in PP in Linux. ->1.0 Removing the print button won't work. For some unknown (to me :) reason the PrintPreview stuff sometimes wants to create more than one print device context - which does currently not work because both implementations (PostScript and Xprint) use global vars which cannot be shared between more than one object instance. Currently the device contexts have a "safeguard" implemented to avoid the creation of more than one print device object (otherwise we crash sooner or later because the objects corrupt their global vars). A side-effect of the safeguard is that most of the functionality in PrintPreview is defunct (still better than random crashes due heap corruption... =:-) bug 119491 ("Cleanup global vars in PostScript and Xprint modules") will fix that (I am working on it currently) ...
Reporter | ||
Comment 11•23 years ago
|
||
The print button is already gone from print preview. This bug is about being able to print, not about not getting an error alert. Please leave it open to track reinstating the print button.
Comment 12•23 years ago
|
||
Alright, but this is another reason why morphing bugs is bad. If this is now seen as getting print back, then it should be nsbeta1-, ->1.2/helpwanted Roland, we noted the dep bug you are working on, but thought that was in danger of not making 1.0. If you get these in, great, if not we will probably have to live with not being able to print from print preview, but that is still better than what we had before (i.e, not print preview at all)
Target Milestone: mozilla1.0 → mozilla1.2
Comment 13•23 years ago
|
||
Peter Trudelle wrote:
> Roland, we noted the dep bug you are working on, but thought that was in
> danger of not making 1.0.
Not really. I think it's possible for me to get it fixed before we freeze for
1.0 (no gurantee yet, I am being punished with a defunct Purify (customer
escalation pending...) which slows-down development a lot... ;-( ).
I already have a half-done prototype ...
Comment 14•22 years ago
|
||
Apparently, Mozilla (at least rc1) can get confused and think it is always in print preview mode. Just happened to me. I filed bug 142410 on it.
Comment 15•22 years ago
|
||
*** Bug 156290 has been marked as a duplicate of this bug. ***
Comment 16•22 years ago
|
||
I have fixed the issue as part of bug 187125 - PrintPreview's toolbar is now enabled again if the underlying device code supports multiple device instances (this is true for the Xprint module, the PostScript module may likely never be fixed). Marking bug as FIXED.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 17•22 years ago
|
||
Louie/Pete, any thoughts with regard to comment 16 ?
Reporter | ||
Comment 18•22 years ago
|
||
Um, this is _not_ fixed, since my steps to reproduce still fail. Note that I am using whatever comes default with Mozilla for printing (that happens to be the PS module). Feel free to mark this fixed once Xprint is the default module or to mark it wontfix if you don't plan to fix it...
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Reporter | ||
Comment 19•21 years ago
|
||
*** Bug 214486 has been marked as a duplicate of this bug. ***
Comment 20•21 years ago
|
||
*** Bug 230692 has been marked as a duplicate of this bug. ***
Assignee: sgehani → core.printing
Status: REOPENED → NEW
Comment 21•20 years ago
|
||
*** Bug 256094 has been marked as a duplicate of this bug. ***
Comment 22•20 years ago
|
||
I set the pref print.whileInPrintPreview to true, and could make multiple prints without a problem. (to a file actually, because i don't have a printer on this box) From scanning the code, i didn't see much global vars in gfx/src/ps. The ones that i did see didn't look like a problem. does this mean we can enable printing from print preview for ps again? (cvs build 20041107, no xprint, fc2)
Comment 23•17 years ago
|
||
If I set print.whileinPrintPreview to TRUE in about:config I still encounter this error. The error also seems to happen when printing more than one document at the same time.
Assignee | ||
Comment 26•16 years ago
|
||
Since firefox 3.0 is no longer use postscript/xprint, can we enable print.whileinPrintPreview now. I just tested it on linux, this feature works.
Assignee | ||
Comment 27•16 years ago
|
||
This bug should be already fixed by using cairo priting. So need to enable this feature in preference.
Attachment #333675 -
Flags: review?(bzbarsky)
Reporter | ||
Comment 28•16 years ago
|
||
Comment on attachment 333675 [details] [diff] [review] patch to enable printing while in print preview Sorry, I have no idea whether this is the right thing to do, or what the new printing code looks like. You'll have to get review from someone who does, and can confirm that none of the relevant code that used global variables exists anymore.
Attachment #333675 -
Flags: review?(bzbarsky) → review?
Attachment #333675 -
Flags: review? → review?(roc)
Comment on attachment 333675 [details] [diff] [review] patch to enable printing while in print preview We're certainly not using any of the code mentioned in comment #1. The code in nsDeviceContextSpecG.cpp looks fine and I'm not aware of any other problems. I say, enable it and if something bad happens, we'll fix it. There won't be serious stability/security problems since this is something the user has to go out of their way to trigger.
Attachment #333675 -
Flags: review?(roc) → review+
Updated•16 years ago
|
Updated•16 years ago
|
Assignee: nobody → leon.sha
Target Milestone: mozilla1.2alpha → ---
Attachment #333675 -
Flags: superreview?(roc)
Attachment #333675 -
Flags: superreview?(roc) → superreview+
Assignee | ||
Comment 30•16 years ago
|
||
changeset 16985 366ff8a1133f parent 16984 79040d7ff66c child 16986 98cbd06e2376 Bug 126802 Printing while in print preview disabled on Unix. roc: review+ roc: superreview+
Status: NEW → RESOLVED
Closed: 22 years ago → 16 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•