https://bugs.freedesktop.org/show_bug.cgi?id=67579

          Priority: medium
            Bug ID: 67579
                CC: [email protected]
          Assignee: [email protected]
           Summary: assertion failure on "print option"
          Severity: normal
    Classification: Unclassified
                OS: Linux (All)
          Reporter: [email protected]
          Hardware: x86-64 (AMD64)
            Status: NEW
           Version: 4.2.0.0.alpha0+ Master
         Component: Printing and PDF export
           Product: LibreOffice

Created attachment 83360
  --> https://bugs.freedesktop.org/attachment.cgi?id=83360&action=edit
gdb backtrace

@caolan: this is your assert. An opinion? Something I should try?

1) Using a *dbgutil* build of master
2) Open writer document
3) Open print dialog
4) click on "options"

Result: assertion failure

Console:

 soffice.bin:
/home/master/src/libreoffice/workdirs/libreoffice-4.2/padmin/source/prtsetup.cxx:364:
padmin::RTSDevicePage::RTSDevicePage(padmin::RTSDialog*): Assertion
`nLevelEntryData != 0 || bAutoIsPDF == m_pParent->m_aJobData.m_nPDFDevice'
failed.

Backtrace attached. The interesting frame is frame 9 or 55? The stack is a bit
weird; the abort signal handler seems to indirectly call the same code again...


Here's the code around that:


    sal_uLong nLevelEntryData = 0; //automatic
    if( m_pParent->m_aJobData.m_nPDFDevice == 2 ) //explicitly PDF
        nLevelEntryData = 10;
    else if (m_pParent->m_aJobData.m_nPSLevel > 0) //explicit PS Level
        nLevelEntryData = m_pParent->m_aJobData.m_nPSLevel+1;
    else if (m_pParent->m_aJobData.m_nPDFDevice == 1) //automatically PDF
        nLevelEntryData = 0;
    else if (m_pParent->m_aJobData.m_nPDFDevice == -1) //explicitly PS from
driver
        nLevelEntryData = 1;

    bool bAutoIsPDF =
officecfg::Office::Common::Print::Option::Printer::PDFAsStandardPrintJobFormat::get();

    assert(nLevelEntryData != 0 || bAutoIsPDF ==
m_pParent->m_aJobData.m_nPDFDevice);


and:

(gdb) print nLevelEntryData
$1 = 0
(gdb) print bAutoIsPDF
$2 = true
(gdb) print m_pParent->m_aJobData.m_nPDFDevice
$3 = 0
(gdb) print m_pParent->m_aJobData.m_nPSLevel
$4 = 0

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to