sfx2/source/doc/printhelper.cxx |   47 +++++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 24 deletions(-)

New commits:
commit bf4ecd6138f07ca6207eeec306517eff4aff220e
Author: Ariel Constenla-Haile <arie...@apache.org>
Date:   Sun Feb 24 18:23:09 2013 +0000

    Resolves: fdo#65908 #i114817# missing PrintableState_JOB_STARTED 
notification
    
    (cherry picked from commit 914cb68eed75ee8aa38fbf48d029057a66a21f30)
    
    Change-Id: Icb7c304b856cfca7f80090c2d193a0b92a27bb30

diff --git a/sfx2/source/doc/printhelper.cxx b/sfx2/source/doc/printhelper.cxx
index e55276b..1b00652 100644
--- a/sfx2/source/doc/printhelper.cxx
+++ b/sfx2/source/doc/printhelper.cxx
@@ -789,32 +789,31 @@ void SAL_CALL SfxPrintHelper::print(const uno::Sequence< 
beans::PropertyValue >&
 
 void IMPL_PrintListener_DataContainer::Notify( SfxBroadcaster& rBC, const 
SfxHint& rHint )
 {
-    if ( &rBC == m_pObjectShell )
+    SfxPrintingHint* pPrintHint = PTR_CAST( SfxPrintingHint, &rHint );
+    if ( &rBC != m_pObjectShell
+        || !pPrintHint
+        || pPrintHint->GetWhich() == -2 ) // -2 : CancelPrintJob
+        return;
+
+    if ( pPrintHint->GetWhich() == 
com::sun::star::view::PrintableState_JOB_STARTED )
     {
-        SfxPrintingHint* pPrintHint = PTR_CAST( SfxPrintingHint, &rHint );
-        if ( pPrintHint )
-        {
-            if ( pPrintHint->GetWhich() == 
com::sun::star::view::PrintableState_JOB_STARTED )
-            {
-                if ( !m_xPrintJob.is() )
-                    m_xPrintJob = new SfxPrintJob_Impl( this );
-                m_aPrintOptions = pPrintHint->GetOptions();
-            }
-            else if ( pPrintHint->GetWhich() != -2 )    // -2 : CancelPrintJob
-            {
-                view::PrintJobEvent aEvent;
-                aEvent.Source = m_xPrintJob;
-                aEvent.State = (com::sun::star::view::PrintableState) 
pPrintHint->GetWhich();
-                ::cppu::OInterfaceContainerHelper* pContainer = 
m_aInterfaceContainer.getContainer( ::getCppuType( ( const uno::Reference< 
view::XPrintJobListener >*) NULL ) );
-                if ( pContainer!=NULL )
-                {
-                    ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
-                    while (pIterator.hasMoreElements())
-                        
((view::XPrintJobListener*)pIterator.next())->printJobEvent( aEvent );
-                }
-            }
-        }
+        if ( !m_xPrintJob.is() )
+            m_xPrintJob = new SfxPrintJob_Impl( this );
+        m_aPrintOptions = pPrintHint->GetOptions();
     }
+
+    ::cppu::OInterfaceContainerHelper* pContainer = 
m_aInterfaceContainer.getContainer(
+        ::getCppuType( ( const uno::Reference< view::XPrintJobListener >*) 
NULL ) );
+    if ( !pContainer )
+        return;
+
+    view::PrintJobEvent aEvent;
+    aEvent.Source = m_xPrintJob;
+    aEvent.State = (com::sun::star::view::PrintableState) 
pPrintHint->GetWhich();
+
+    ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+    while (pIterator.hasMoreElements())
+        ((view::XPrintJobListener*)pIterator.next())->printJobEvent( aEvent );
 }
 
 void SAL_CALL SfxPrintHelper::addPrintJobListener( const 
::com::sun::star::uno::Reference< ::com::sun::star::view::XPrintJobListener >& 
xListener ) throw (::com::sun::star::uno::RuntimeException)
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to