Closed
Bug 77344
Opened 24 years ago
Closed 23 years ago
[Xlib] Xlib-toolkit Mozilla crashes when printing
Categories
(Core :: XUL, defect)
Tracking
()
RESOLVED
FIXED
mozilla0.9.4
People
(Reporter: roland.mainz, Assigned: roland.mainz)
References
()
Details
(Keywords: crash, Whiteboard: want for mozilla 0.9.4)
Attachments
(7 files)
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
application/postscript
|
Details | |
(deleted),
image/gif
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review |
Xlib-toolkit Mozilla build from 2001-04-23 CVS snapshot+patches from bug 71587
crashes in Xlib-toolkit when printing via Xprint:
-- snip --
/content/printdialog.xul
WEBSHELL- = 6
Reading libgfxxprt.so
Reading libXp.so.1
SetupPrintContext(aSpec)
XpuGetPrinter: looking for 'ps001'
XpuGetPrinter2: probing display ':1' for 'ps001'
XpuCheckExtension: XpQueryVersion ':1.0' 1 0
XpSetContext(mPDisplay, mPContext)
XpuGetOneLongAttribute: 'default-printer-resolution' got '300'
XpuGetOneLongAttribute: result 300
t@1 (l@1) signal SEGV (no mapping at the fault address) in XMoveResizeWindow at
0xfdd2734c
0xfdd2734c: XMoveResizeWindow+0x0004: ld [%i0 + 0x4d0], %o0
Current function is nsScrollbar::LayoutBar
428 XMoveResizeWindow(mDisplay, mBar,
(/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) where
current thread: t@1
[1] XMoveResizeWindow(0x0, 0x0, 0x0, 0x0, 0x1, 0x1), at 0xfdd2734c
=>[2] nsScrollbar::LayoutBar(this = 0xfdb108), line 428 in "nsScrollBar.cpp"
[3] nsScrollbar::Show(this = 0xfdb108, bState = 1), line 291 in
"nsScrollBar.cpp"
[4] nsView::SetVisibility(this = 0xa29fa8, aVisibility =
nsViewVisibility_kShow), line 684 in "nsView.cpp"
[5] nsView::CreateWidget(this = 0xa29fa8, aWindowIID = STRUCT, aWidgetInitData
= 0xffbea4d0, aNative = (nil), aEnableDragDrop = 0), line 964 in "nsView.cpp"
[6] nsScrollingView::CreateScrollControls(this = 0xab1b18, aNative = (nil)),
line 865 in "nsScrollingView.cpp"
[7] nsScrollFrame::CreateScrollingView(this = 0xa835f4, aPresContext =
0x771a88), line 449 in "nsScrollFrame.cpp"
[8] nsScrollFrame::Init(this = 0xa835f4, aPresContext = 0x771a88, aContent =
0xcbf770, aParent = 0xa83510, aStyleContext = 0xb71390, aPrevInFlow = (nil)),
line 90 in "nsScrollFrame.cpp"
[9] nsListControlFrame::Init(this = 0xa835f4, aPresContext = 0x771a88,
aContent = 0xcbf770, aParent = 0xa83510, aContext = 0xb71390, aPrevInFlow =
(nil)), line 1537 in "nsListControlFrame.cpp"
[10] nsCSSFrameConstructor::InitAndRestoreFrame(this = 0xf78e08, aPresContext
= 0x771a88, aState = CLASS, aContent = 0xcbf770, aParentFrame = 0xa83510,
aStyleContext = 0xb71390, aPrevInFlow = (nil), aNewFrame = 0xa835f4), line 6727
in "nsCSSFrameConstructor.cpp"
[11] nsCSSFrameConstructor::InitializeSelectFrame(this = 0xf78e08, aPresShell
= 0xf31118, aPresContext = 0x771a88, aState = CLASS, scrollFrame = 0xa835f4,
scrolledFrame = 0xa836dc, aContent = 0xcbf770, aParentFrame = 0xa83510,
aStyleContext = 0xb71390, aIsAbsolutelyPositioned = 0, aIsFixedPositioned = 0,
aCreateBlock = 1), line 4340 in "nsCSSFrameConstructor.cpp"
[12] nsCSSFrameConstructor::ConstructSelectFrame(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xcbf770,
aParentFrame = 0xa83488, aTag = 0x253bf0, aStyleContext = 0x893850, aNewFrame =
(nil), aProcessChildren = 0, aIsAbsolutelyPositioned = 0,
aFrameHasBeenInitialized = 0, aIsFixedPositioned = 0, aFrameItems = STRUCT),
line 4222 in "nsCSSFrameConstructor.cpp"
[13] nsCSSFrameConstructor::ConstructFrameByTag(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xcbf770,
aParentFrame = 0xa83488, aTag = 0x253bf0, aNameSpaceID = 3, aStyleContext =
0x893850, aFrameItems = STRUCT), line 4769 in "nsCSSFrameConstructor.cpp"
[14] nsCSSFrameConstructor::ConstructFrameInternal(this = 0xf78e08, aPresShell
= 0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xcbf770,
aParentFrame = 0xa83488, aTag = 0x253bf0, aNameSpaceID = 3, aStyleContext =
0x893850, aFrameItems = STRUCT, aXBLBaseTag = 0), line 7245 in
"nsCSSFrameConstructor.cpp"
[15] nsCSSFrameConstructor::ConstructFrame(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xcbf770,
aParentFrame = 0xa83488, aFrameItems = STRUCT), line 7147 in
"nsCSSFrameConstructor.cpp"
[16] nsCSSFrameConstructor::ProcessChildren(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xcbf628, aFrame =
0xa83488, aCanHaveGeneratedContent = 1, aFrameItems = STRUCT, aParentIsBlock =
1, aTableCreator = (nil)), line 11292 in "nsCSSFrameConstructor.cpp"
[17] nsCSSFrameConstructor::ConstructTableCellFrame(this = 0xf78e08,
aPresShell = 0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent =
0xcbf628, aParentFrameIn = 0xa83084, aStyleContext = 0x8fa218, aTableCreator =
STRUCT, aIsPseudo = 0, aChildItems = STRUCT, aNewCellOuterFrame = 0xa8342c,
aNewCellInnerFrame = 0xa83488, aIsPseudoParent = 0), line 2949 in
"nsCSSFrameConstructor.cpp"
[18] nsCSSFrameConstructor::TableProcessChild(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aChildContent = CLASS,
aParentFrame = 0xa83084, aParentFrameType = 0x276940, aParentStyleContext =
0x6b2338, aTableCreator = STRUCT, aChildItems = STRUCT, aCaption = (nil)), line
3212 in "nsCSSFrameConstructor.cpp"
[19] nsCSSFrameConstructor::TableProcessChildren(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xda1988,
aParentFrame = 0xa83084, aTableCreator = STRUCT, aChildItems = STRUCT, aCaption
= (nil)), line 3123 in "nsCSSFrameConstructor.cpp"
[20] nsCSSFrameConstructor::ConstructTableRowFrame(this = 0xf78e08, aPresShell
= 0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xda1988,
aParentFrameIn = 0xa83048, aStyleContext = 0x6b2338, aTableCreator = STRUCT,
aIsPseudo = 0, aChildItems = STRUCT, aNewFrame = 0xa83084, aIsPseudoParent = 0),
line 2820 in "nsCSSFrameConstructor.cpp"
[21] nsCSSFrameConstructor::TableProcessChild(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aChildContent = CLASS,
aParentFrame = 0xa83048, aParentFrameType = 0x276900, aParentStyleContext =
0x6f2178, aTableCreator = STRUCT, aChildItems = STRUCT, aCaption = (nil)), line
3198 in "nsCSSFrameConstructor.cpp"
[22] nsCSSFrameConstructor::TableProcessChildren(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xda1948,
aParentFrame = 0xa83048, aTableCreator = STRUCT, aChildItems = STRUCT, aCaption
= (nil)), line 3123 in "nsCSSFrameConstructor.cpp"
[23] nsCSSFrameConstructor::ConstructTableRowGroupFrame(this = 0xf78e08,
aPresShell = 0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent =
0xda1948, aParentFrameIn = 0xa82fe0, aStyleContext = 0x6f2178, aTableCreator =
STRUCT, aIsPseudo = 0, aChildItems = STRUCT, aNewFrame = 0xa83048,
aIsPseudoParent = 0), line 2711 in "nsCSSFrameConstructor.cpp"
[24] nsCSSFrameConstructor::TableProcessChild(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aChildContent = CLASS,
aParentFrame = 0xa82fe0, aParentFrameType = 0x276898, aParentStyleContext =
0x3a2070, aTableCreator = STRUCT, aChildItems = STRUCT, aCaption = (nil)), line
3192 in "nsCSSFrameConstructor.cpp"
[25] nsCSSFrameConstructor::TableProcessChildren(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xda1880,
aParentFrame = 0xa82fe0, aTableCreator = STRUCT, aChildItems = STRUCT, aCaption
= (nil)), line 3123 in "nsCSSFrameConstructor.cpp"
[26] nsCSSFrameConstructor::ConstructTableFrame(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xda1880,
aParentFrameIn = 0xa3364c, aStyleContext = 0x3a2070, aTableCreator = STRUCT,
aIsPseudo = 0, aChildItems = STRUCT, aNewOuterFrame = 0xa82354, aNewInnerFrame =
0xa82fe0, aIsPseudoParent = 0), line 2592 in "nsCSSFrameConstructor.cpp"
[27] nsCSSFrameConstructor::ConstructFrameByDisplayType(this = 0xf78e08,
aPresShell = 0xf31118, aPresContext = 0x771a88, aState = CLASS, aDisplay =
0xfa0404, aContent = 0xda1880, aParentFrame = 0xa3364c, aStyleContext =
0x3a2070, aFrameItems = STRUCT), line 6548 in "nsCSSFrameConstructor.cpp"
[28] nsCSSFrameConstructor::ConstructFrameInternal(this = 0xf78e08, aPresShell
= 0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xda1880,
aParentFrame = 0xa3364c, aTag = 0x274c48, aNameSpaceID = 3, aStyleContext =
0x3a2070, aFrameItems = STRUCT, aXBLBaseTag = 0), line 7288 in
"nsCSSFrameConstructor.cpp"
[29] nsCSSFrameConstructor::ConstructFrame(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0xda1880,
aParentFrame = 0xa3364c, aFrameItems = STRUCT), line 7147 in
"nsCSSFrameConstructor.cpp"
[30] nsCSSFrameConstructor::ProcessBlockChildren(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0x72e770, aFrame =
0xa3364c, aCanHaveGeneratedContent = 1, aFrameItems = STRUCT, aParentIsBlock =
1), line 12450 in "nsCSSFrameConstructor.cpp"
[31] nsCSSFrameConstructor::ConstructBlock(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aDisplay = 0xb14cbc, aContent
= 0x72e770, aParentFrame = 0xa335c4, aStyleContext = 0x84ac70, aNewFrame =
0xa3364c), line 12398 in "nsCSSFrameConstructor.cpp"
[32] nsCSSFrameConstructor::ConstructFrameByDisplayType(this = 0xf78e08,
aPresShell = 0xf31118, aPresContext = 0x771a88, aState = CLASS, aDisplay =
0xb14cbc, aContent = 0x72e770, aParentFrame = 0xa335c4, aStyleContext =
0x84ac70, aFrameItems = STRUCT), line 6501 in "nsCSSFrameConstructor.cpp"
[33] nsCSSFrameConstructor::ConstructFrameInternal(this = 0xf78e08, aPresShell
= 0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0x72e770,
aParentFrame = 0xa335c4, aTag = 0x14f110, aNameSpaceID = 3, aStyleContext =
0x84ac70, aFrameItems = STRUCT, aXBLBaseTag = 0), line 7288 in
"nsCSSFrameConstructor.cpp"
[34] nsCSSFrameConstructor::ConstructFrame(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0x72e770,
aParentFrame = 0xa335c4, aFrameItems = STRUCT), line 7147 in
"nsCSSFrameConstructor.cpp"
[35] nsCSSFrameConstructor::ProcessChildren(this = 0xf78e08, aPresShell =
0xf31118, aPresContext = 0x771a88, aState = CLASS, aContent = 0x8556d8, aFrame =
0xa335c4, aCanHaveGeneratedContent = 1, aFrameItems = STRUCT, aParentIsBlock =
1, aTableCreator = (nil)), line 11292 in "nsCSSFrameConstructor.cpp"
[36] nsCSSFrameConstructor::ConstructDocElementFrame(this = 0xf78e08,
aPresShell = 0xf31118, aPresContext = 0x771a88, aState = CLASS, aDocElement =
0x8556d8, aParentFrame = 0xa33554, aParentStyleContext = 0xd4e4b8, aNewFrame =
0xa335c4), line 3533 in "nsCSSFrameConstructor.cpp"
[37] nsCSSFrameConstructor::ContentInserted(this = 0xf78e08, aPresContext =
0x771a88, aContainer = (nil), aChild = 0x8556d8, aIndexInContainer = 0,
aFrameState = (nil)), line 8461 in "nsCSSFrameConstructor.cpp"
[38] StyleSetImpl::ContentInserted(this = ???, aPresContext = ???, aContainer
= ???, aChild = ???, aIndexInContainer = ???) (optimized), at 0xfd0be840 (line
~1248) in "nsStyleSet.cpp"
[39] PresShell::InitialReflow(this = 0xf31118, aWidth = 5592, aHeight = 8057),
line 2501 in "nsPresShell.cpp"
[40] DocumentViewerImpl::Print(this = ???, aSilent = ???, aFile = ???,
aPrintListener = ???) (optimized), at 0xfd057b44 (line ~4291) in
"nsDocumentViewer.cpp"
[41] GlobalWindowImpl::Print(this = ???) (optimized), at 0xfe0ea544 (line
~1748) in "nsGlobalWindow.cpp"
[42] WindowInternalPrint(cx = ???, obj = ???, argc = ???, argv = ???, rval =
???) (optimized), at 0xfe0d5768 (line ~3550) in "nsJSWindow.cpp"
[43] js_Invoke(cx = ???, argc = ???, flags = ???) (optimized), at 0xff0c4920
(line ~813) in "jsinterp.c"
[44] js_Interpret(cx = ???, result = ???) (optimized), at 0xff0d02b8 (line
~2706) in "jsinterp.c"
[45] js_Invoke(cx = ???, argc = ???, flags = ???) (optimized), at 0xff0c4994
(line ~830) in "jsinterp.c"
[46] js_InternalInvoke(cx = ???, obj = ???, fval = ???, flags = ???, argc =
???, argv = ???, rval = ???) (optimized), at 0xff0c4bf8 (line ~902) in
"jsinterp.c"
[47] JS_CallFunctionValue(cx = ???, obj = ???, fval = ???, argc = ???, argv =
???, rval = ???) (optimized), at 0xff09d5e0 (line ~3334) in "jsapi.c"
[48] nsJSContext::CallEventHandler(this = ???, aTarget = ???, aHandler = ???,
argc = ???, argv = ???, aBoolResult = ???, aReverseReturnResult = ???)
(optimized), at 0xfe0c8a40 (line ~939) in "nsJSEnvironment.cpp"
[49] nsJSEventListener::HandleEvent(this = ???, aEvent = ???) (optimized), at
0xfe1346e4 (line ~149) in "nsJSEventListener.cpp"
[50] nsEventListenerManager::HandleEventSubType(this = ???, aListenerStruct =
???, aDOMEvent = ???, aCurrentTarget = ???, aSubType = ???, aPhaseFlags = ???)
(optimized), at 0xfcd703ac (line ~1033) in "nsEventListenerManager.cpp"
[51] nsEventListenerManager::HandleEvent(this = ???, aPresContext = ???,
aEvent = ???, aDOMEvent = ???, aCurrentTarget = ???, aFlags = ???, aEventStatus
= ???) (optimized), at 0xfcd7286c (line ~1953) in "nsEventListenerManager.cpp"
[52] nsXULElement::HandleDOMEvent(this = ???, aPresContext = ???, aEvent =
???, aDOMEvent = ???, aFlags = ???, aEventStatus = ???) (optimized), at
0xfcf2fd90 (line ~3729) in "nsXULElement.cpp"
[53] PresShell::HandleDOMEventWithTarget(this = 0x384258, aTargetContent =
0x4cc698, aEvent = 0xffbee690, aStatus = 0xffbee6d8), line 5452 in
"nsPresShell.cpp"
[54] nsMenuFrame::Execute(this = ???) (optimized), at 0xfc8942a4 (line ~1418)
in "nsMenuFrame.cpp"
[55] nsMenuFrame::HandleEvent(this = ???, aPresContext = ???, aEvent = ???,
aEventStatus = ???) (optimized), at 0xfc890b74 (line ~397) in "nsMenuFrame.cpp"
[56] PresShell::HandleEventInternal(this = 0x384258, aEvent = 0xffbeeed8,
aView = 0xf410f8, aFlags = 1U, aStatus = 0xffbeece0), line 5420 in
"nsPresShell.cpp"
[57] PresShell::HandleEvent(this = 0x384258, aView = 0xf410f8, aEvent =
0xffbeeed8, aEventStatus = 0xffbeece0, aForceHandle = 0, aHandled = 1), line
5332 in "nsPresShell.cpp"
[58] nsView::HandleEvent(this = 0xf410f8, event = 0xffbeeed8, aEventFlags =
8U, aStatus = 0xffbeece0, aForceHandle = 0, aHandled = 1), line 364 in
"nsView.cpp"
[59] nsView::HandleEvent(this = 0xf32928, event = 0xffbeeed8, aEventFlags =
8U, aStatus = 0xffbeece0, aForceHandle = 0, aHandled = 1), line 348 in
"nsView.cpp"
[60] nsView::HandleEvent(this = 0xf35b78, event = 0xffbeeed8, aEventFlags =
8U, aStatus = 0xffbeece0, aForceHandle = 0, aHandled = 1), line 348 in
"nsView.cpp"
[61] nsView::HandleEvent(this = 0x38c8b8, event = 0xffbeeed8, aEventFlags =
28U, aStatus = 0xffbeece0, aForceHandle = 1, aHandled = 1), line 348 in
"nsView.cpp"
[62] nsViewManager::DispatchEvent(this = ???, aEvent = ???, aStatus = ???)
(optimized), at 0xfcb15704 (line ~2032) in "nsViewManager.cpp"
[63] HandleEvent(aEvent = 0xffbeeed8), line 67 in "nsView.cpp"
[64] nsWidget::DispatchEvent(this = 0xf329b0, aEvent = 0xffbeeed8, aStatus =
nsEventStatus_eIgnore), line 1276 in "nsWidget.cpp"
[65] nsWidget::DispatchWindowEvent(this = 0xf329b0, aEvent = STRUCT), line
1184 in "nsWidget.cpp"
[66] nsWidget::DispatchMouseEvent(this = 0xf329b0, aEvent = STRUCT), line 1143
in "nsWidget.cpp"
[67] nsAppShell::HandleButtonEvent(event = ???, aWidget = ???) (optimized), at
0xfdf0fdfc (line ~773) in "nsAppShell.cpp"
[68] nsAppShell::DispatchXEvent(event = ???) (optimized), at 0xfdf0f724 (line
~628) in "nsAppShell.cpp"
[69] nsAppShell::Run(this = ???) (optimized), at 0xfdf0f0e4 (line ~448) in
"nsAppShell.cpp"
[70] nsAppShellService::Run(this = ???) (optimized), at 0xfdf99914 (line ~407)
in "nsAppShellService.cpp"
[71] main1(argc = ???, argv = ???, nativeApp = ???) (optimized), at 0x16658
(line ~1015) in "nsAppRunner.cpp"
[72] main(argc = ???, argv = ???) (optimized), at 0x170dc (line ~1312) in
"nsAppRunner.cpp"
-- snip --
Looking at mozilla/widget/src/xlib/nsScrollBar.cpp:
-- snip --
void nsScrollbar::LayoutBar(void)
{
XMoveResizeWindow(mDisplay, mBar,
mBarBounds.x, mBarBounds.y,
mBarBounds.width, mBarBounds.height);
}
-- snip --
mDisplay is simply NULL which causes this havoc...
...assigning bug to myself as fix looks easy...
Assignee | ||
Comment 1•24 years ago
|
||
Accepting bug CC'ing Xlib folks and "want for mozilla 0.9" assuming I get a fix
in the next hour...
Status: NEW → ASSIGNED
Whiteboard: want for mozilla 0.9
Assignee | ||
Comment 2•24 years ago
|
||
Assignee | ||
Comment 3•24 years ago
|
||
Added patch.
Patch simply added some if( mDisplay != nsnull ) { /* ... */ } and kills tabs in
touched sources.
Need r=, sr=, a=
Keywords: patch
Target Milestone: --- → mozilla0.9
Assignee | ||
Comment 4•24 years ago
|
||
Added example URL to demonstrate crash.
Note that fix only works _after_ checkin of fixes for bug 71587.
Depends on: 71587
Assignee | ||
Comment 5•24 years ago
|
||
Assignee | ||
Comment 6•24 years ago
|
||
Comment 7•24 years ago
|
||
Is this problem really caused by the fact that
nsDeviceContextXP::SupportsNativeWidgets returns PR_FALSE? I'm not sure what it
should return, since it's used differently from other device contexts.
nsDeviceContextPS::SupportsNativeWidgets returns PR_FALSE too, though... but
nsView::CreateWidget looks like it tries to do weird things when
SupportsNativeWidgets is false (it doesn't call |Create| on the widget, but
assumes it will work without it -- this is weird if the widget is actually
associated with xlib rather than xprint -- I'm not sure what really should be
going on here...)
Assignee | ||
Comment 8•24 years ago
|
||
dbaron, you're right... hacking nsDeviceContextXP::SupportsNativeWidgets() to
return PR_TRUE solves this issue, too - making my patches unneccesary.
But If nsDeviceContextXP::SupportsNativeWidgets() returns PR_TRUE the example
URL for this bug doesn't get printed anymore.
The GTK+-toolkit gives some "hints" when printing via Xprint and hacking
nsDeviceContextXP::SupportsNativeWidgets() to return PR_TRUE:
-- snip --
Disabling View Source StyleSheet
Enabling Quirk StyleSheet
Document
http://www.cinema.de/kinotimer/stadtchk/1,1645,,00.html?Filmid=&Ortsname=giessen
loaded successfully
1[3c860]: WARNING: dependent window created without a parent, file
../../../../../src/2001-04-23-cvs/mozilla/xpfe/bootstrap/nsWindowCreator.cpp,
line 94
WARNING: dependent window created without a parent, file
../../../../../src/2001-04-23-cvs/mozilla/xpfe/bootstrap/nsWindowCreator.cpp,
line 94
WEBSHELL+ = 7
Disabling View Source StyleSheet
/content/printdialog.xul
nsWidget::~nsWidget() of toplevel: 46 widgets still exist.
WEBSHELL- = 6
1[3c860]: nsXPrintContext::nsXPrintContext()
1[3c860]: nsXPrintContext::Init()
SetupPrintContext(aSpec)
1[3c860]: nsXPrintContext::SetupPrintContext()
1[3c860]: nsXPrintContext::SetupPrintContext: borders top=0.000000,
bottom=0.000000, left=0.000000, right=0.000000
XpuGetPrinter: looking for 'ps001'
XpuGetPrinter2: probing display ':1' for 'ps001'
XpuCheckExtension: XpQueryVersion ':1.0' 1 0
XpSetContext(mPDisplay, mPContext)
XpuGetOneLongAttribute: 'default-printer-resolution' got '300'
XpuGetOneLongAttribute: result 300
1[3c860]: print resolution 300
1[3c860]: nsXPrintContext::SetupWindow: x=75 y=75 width=2330 height=3357
1[3c860]: nsXPrintContext::GetPrintResolution()
window moved to offscreen position
window moved to offscreen position
window moved to offscreen position
window moved to offscreen position
window moved to offscreen position
window moved to offscreen position
window moved to offscreen position
window moved to offscreen position
window moved to offscreen position
window moved to offscreen position
window moved to offscreen position
window moved to offscreen position
Enabling Quirk StyleSheet
window moved to offscreen position
window moved to offscreen position
Enabling Quirk StyleSheet
Enabling Quirk StyleSheet
1[3c860]: nsXPrintContext::BeginDocument()
1[3c860]: nsXPrintContext::BeginDocument: document title: 'Cinema'
XpuCheckSupported: XpGetOneAttribute(job-attributes-supported) returned
'job-name job-owner notification-profile xp-spooler-command-options '
XpuCheckSupported: probing 'job-name'=='job-name'
XpStartJob(mPDisplay, XPSpool)
XpuWaitForPrintNotify(mPDisplay, XPStartJobNotify)
XpStartPage(mPDisplay, mDrawable)
XpuWaitForPrintNotify(mPDisplay, XPStartPageNotify)
XpEndPage(mPDisplay)
XpuWaitForPrintNotify(mPDisplay, XPEndPageNotify)
XpEndJob(mPDisplay)
XpuWaitForPrintNotify(mPDisplay, XPEndJobNotify)
1[3c860]: nsXPrintContext::~nsXPrintContext()
/kinotimer/stadtchk/1,1645,,00.html?Filmid=&Ortsname=giessen
-- snip --
"window moved to offscreen position" doesn't appear when
nsDeviceContextXP::SupportsNativeWidgets() returns PR_FALSE...
dbaron, blizzard... any ideas ?
----
Retargeting bug to 0.9.1... ;-((((((
Whiteboard: want for mozilla 0.9 → want for mozilla 0.9.1
Target Milestone: mozilla0.9 → mozilla0.9.1
Assignee | ||
Comment 9•24 years ago
|
||
Assignee | ||
Comment 10•24 years ago
|
||
Assignee | ||
Comment 11•24 years ago
|
||
Issue nailed-down.
Returning PR_TRUE for nsDeviceContextXP::SupportsNativeWidgets() is problamatic
as source uses this return value to determinate whether the device is
"scrollable" or a "paging device". See
http://lxr.mozilla.org/mozilla/source/layout/html/style/src/nsCSSFrameConstructor.cpp#3765
-- snip --
3763 if (dc) {
3764 PRBool supportsWidgets;
3765 if (NS_SUCCEEDED(dc->SupportsNativeWidgets(supportsWidgets))) {
3766 isScrollable = supportsWidgets;
3767 }
-- snip --
The real fix is to implement a new method nsIDeviceContext::IsPagedDevice() (see
mozilla/gfx/public/nsIDeviceContext.h), impl. nsDeviceContextXP::IsPagedDevice()
- to indicate that this device supports pages or need scrollbars (or we same
that method "IsScrollable()").
blizzard... what's your opinion ?
Assignee | ||
Comment 12•24 years ago
|
||
Retargeting to 0.9.2 - without checkin of patches in bug 78548 Xprint behaves
incorrectly.
Depends on: 78548
Whiteboard: want for mozilla 0.9.1 → want for mozilla 0.9.2
Target Milestone: mozilla0.9.1 → mozilla0.9.2
Assignee | ||
Comment 13•23 years ago
|
||
Tons of changes, tons of fixes, but this bug is still not dead... ;-(
Retargeting to 0.9.3, CC:'ing pocemit...
Whiteboard: want for mozilla 0.9.2 → want for mozilla 0.9.3
Target Milestone: mozilla0.9.2 → mozilla0.9.3
Assignee | ||
Comment 14•23 years ago
|
||
Retargeting to milestone 0.9.4... ;-(
Whiteboard: want for mozilla 0.9.3 → want for mozilla 0.9.4
Target Milestone: mozilla0.9.3 → mozilla0.9.4
Assignee | ||
Comment 15•23 years ago
|
||
Assignee | ||
Comment 16•23 years ago
|
||
Filed new patch, back to 0.9.3. This is a "must have" for 0.9.3 to get printing
working in Xlib-port.
I know that this patch is only a workaround - but it is better than crashing...
Requesting r=/sr= for this bug, please...
Comment 17•23 years ago
|
||
r=timeless branch only.
Assignee | ||
Comment 18•23 years ago
|
||
Recently I filed bug 91773 to get a better solution for this stuff, but I'd like
to get rid of the crashers of possible...
Additionally I am going to file a RFE to get a new API to determinate whether
the device context is for a framebuffer or printer device...
Requesting r= for branch and _trunk_.
Comment 19•23 years ago
|
||
ok, after a bit of discussion and w/ the reference to the new bug i'm
comfortable w/ this for branch and trunk since it sounds like it'll be a while
before a better fix comes along. r=timeless (093+trunk)
Assignee | ||
Comment 20•23 years ago
|
||
Requesting sr=
Comment 21•23 years ago
|
||
I'm confused. You said you discovered the real problem (``The real fix is to
implement a new method [...] to indicate that this device supports pages or need
[sic] scrollbars''), yet this patch looks nothing like that. Can we not just do
the Right Thing?
Assignee | ||
Comment 22•23 years ago
|
||
waterson:
The patch here is only a workaround to get rid of the crashes... printing just
works fine then.
The real solution is far more difficult... that's why I filed bug 91773 ... no
chanche to ship that monster with 0.9.3... ;-(
Comment 23•23 years ago
|
||
Oughtn't you add some commentary that says this is temporary? sr=waterson if you
do that.
Assignee | ||
Comment 24•23 years ago
|
||
Assignee | ||
Comment 25•23 years ago
|
||
waterson:
I am not sure whether that |if (mDisplay)| is mandatory or if I am simply
hacking the symptoms of the issue. I am not sure.
Hacking DeviceContextImpl::SupportsNativeWidgets() to return PR_TRUE would help
Xprint (because it works on a real Xserver (=Xprt, the X print server)) but not
PostScript printing - which crashes, too). But that would require to create a
new API to get rid of the problem that "someone" misused
DeviceContextImpl::SupportsNativeWidgets() to check whether this is a printer
device nor not (who wrote that xx@@XX !?).
This patch helps... and may be a final solution... or only a workaround.
I am going to investigate this. That's why I filed bug 91773 - to crawl far
deeper into the mouth of the Xlib-port dragon and clean-up the whole damn
Xlib-port widget support. Maybe be issue goes away. If not - than this patch is
the final solution... :-)
Blocks: 91773
Assignee | ||
Comment 26•23 years ago
|
||
Requesting a=drivers@mozilla.org
blizzard ?
Assignee | ||
Comment 27•23 years ago
|
||
Per IRC comment by blizzard:
a=blizzard for branch&trunk
----
CC:'ing mkaply for checkin, please...
Assignee | ||
Updated•23 years ago
|
Target Milestone: mozilla0.9.3 → mozilla0.9.4
Assignee | ||
Comment 28•23 years ago
|
||
Missed 0.9.3... still waiting for checkin... ;-(
Assignee | ||
Updated•23 years ago
|
Whiteboard: want for mozilla 0.9.3 → want for mozilla 0.9.4
Comment 29•23 years ago
|
||
Fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•23 years ago
|
Summary: Xlib-toolkit Mozilla crashes when printing → [Xlib] Xlib-toolkit Mozilla crashes when printing
You need to log in
before you can comment on or make changes to this bug.
Description
•