sw/source/ui/inc/pview.hxx | 1 + sw/source/ui/uno/unotxdoc.cxx | 16 +++++++++++++--- vcl/source/gdi/print3.cxx | 5 ----- 3 files changed, 14 insertions(+), 8 deletions(-)
New commits: commit ce888a74614aa83e17a34e557f416acb262419a1 Author: Ivan Timofeev <timofeev....@gmail.com> Date: Wed Nov 16 15:47:51 2011 +0400 fix fdo#42178: crash when printing from Page Preview diff --git a/sw/source/ui/inc/pview.hxx b/sw/source/ui/inc/pview.hxx index e9902fb..329ba5e 100644 --- a/sw/source/ui/inc/pview.hxx +++ b/sw/source/ui/inc/pview.hxx @@ -273,6 +273,7 @@ public: void ShowVScrollbar(sal_Bool bShow); sal_uInt16 GetPageCount() const { return mnPageCount; } + sal_uInt16 GetSelectedPage() const {return aViewWin.SelectedPage();} sal_Bool HandleWheelCommands( const CommandEvent& ); diff --git a/sw/source/ui/uno/unotxdoc.cxx b/sw/source/ui/uno/unotxdoc.cxx index c849fa7..4a1ef26 100644 --- a/sw/source/ui/uno/unotxdoc.cxx +++ b/sw/source/ui/uno/unotxdoc.cxx @@ -187,10 +187,20 @@ SwPrintUIOptions * lcl_GetPrintUIOptions( const SwPrintData &rPrintData = pDocShell->GetDoc()->getPrintData(); // Get current page number + sal_uInt16 nCurrentPage = 1; SwWrtShell* pSh = pDocShell->GetWrtShell(); - SwPaM* pShellCrsr = pSh->GetCrsr(); - sal_uInt16 nCurrentPage = pShellCrsr->GetPageNum(sal_True, 0); - + if (pSh) + { + SwPaM* pShellCrsr = pSh->GetCrsr(); + nCurrentPage = pShellCrsr->GetPageNum(sal_True, 0); + } + else + { + const SwPagePreView* pPreView = dynamic_cast< const SwPagePreView* >(pView); + OSL_ENSURE(pPreView, "Unexpected type of the view shell"); + if (pPreView) + nCurrentPage = pPreView->GetSelectedPage(); + } return new SwPrintUIOptions( nCurrentPage, bWebDoc, bSwSrcView, bHasSelection, bHasPostIts, rPrintData ); } commit 639f7b562c0e3304e3b087d86ea2a1134bc0d044 Author: Ivan Timofeev <timofeev....@gmail.com> Date: Fri Nov 18 15:58:27 2011 +0400 fix UI updating in the print dialog diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx index c2b0e87..3d13fd8 100644 --- a/vcl/source/gdi/print3.cxx +++ b/vcl/source/gdi/print3.cxx @@ -869,11 +869,6 @@ PrinterController::PageSize PrinterController::getPageFile( int i_nUnfilteredPag Sequence< PropertyValue > aPageParm( getPageParametersProtected( i_nUnfilteredPage ) ); const MapMode aMapMode( MAP_100TH_MM ); - if (mpImplData->meJobState != view::PrintableState_JOB_STARTED) - { // rhbz#657394: check that we are still printing... - return PrinterController::PageSize(); - } - mpImplData->mpPrinter->Push(); mpImplData->mpPrinter->SetMapMode( aMapMode ); _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits