Ticket #11494: wxOSX_print.patch

File wxOSX_print.patch, 2.2 KB (added by Auria, 9 years ago)

An updated version that applies cleanly on newer revisions of trunk

  • src/osx/core/printmac.cpp

     
    543543void wxOSXPrintData::TransferFrom( wxPrintDialogData* data )
    544544{
    545545    // Respect the value of m_printAllPages
    546     if ( data->GetAllPages() )
    547         PMSetPageRange( m_macPrintSettings , data->GetMinPage() , (UInt32) kPMPrintAllPages ) ;
    548     else
     546    //if ( data->GetAllPages() )
     547    //    PMSetPageRange( m_macPrintSettings , data->GetMinPage() , (UInt32) kPMPrintAllPages ) ;
     548    //else
    549549        PMSetPageRange( m_macPrintSettings , data->GetMinPage() , data->GetMaxPage() ) ;
    550550    PMSetCopies( m_macPrintSettings , data->GetNoCopies() , false ) ;
    551551    PMSetFirstPage( m_macPrintSettings , data->GetFromPage() , false ) ;
     
    596596        return false;
    597597    }
    598598
     599    printout->OnPreparePrinting();
     600
     601    // Get some parameters from the printout, if defined
     602    int fromPage, toPage;
     603    int minPage, maxPage;
     604    printout->GetPageInfo(&minPage, &maxPage, &fromPage, &toPage);
     605
     606    if (maxPage == 0)
     607    {
     608        sm_lastError = wxPRINTER_ERROR;
     609        return false;
     610    }
     611
     612    // Only set min and max, because from and to will be
     613    // set by the user
     614    m_printDialogData.SetMinPage(minPage);
     615    m_printDialogData.SetMaxPage(maxPage);
     616   
    599617    if (m_printDialogData.GetMinPage() < 1)
    600618        m_printDialogData.SetMinPage(1);
    601619    if (m_printDialogData.GetMaxPage() < 1)
     
    664682    dc->GetSizeMM(&mw, &mh);
    665683    printout->SetPageSizeMM((int)mw, (int)mh);
    666684
    667     // Create an abort window
    668685    wxBeginBusyCursor();
    669686
    670     printout->OnPreparePrinting();
    671 
    672     // Get some parameters from the printout, if defined
    673     int fromPage, toPage;
    674     int minPage, maxPage;
    675     printout->GetPageInfo(&minPage, &maxPage, &fromPage, &toPage);
    676 
    677     if (maxPage == 0)
    678     {
    679         sm_lastError = wxPRINTER_ERROR;
    680         return false;
    681     }
    682 
    683     // Only set min and max, because from and to will be
    684     // set by the user
    685     m_printDialogData.SetMinPage(minPage);
    686     m_printDialogData.SetMaxPage(maxPage);
    687 
    688687    printout->OnBeginPrinting();
    689688
    690689    bool keepGoing = true;