rpms/openoffice.org/FC-3 patches-OOO_1_1-psprint-nocupsupdates.diff, NONE, 1.1

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Apr 6 14:37:25 UTC 2005


Update of /cvs/dist/rpms/openoffice.org/FC-3
In directory cvs.devel.redhat.com:/tmp/cvs-serv9638

Added Files:
	patches-OOO_1_1-psprint-nocupsupdates.diff 
Log Message:
Add patch


patches-OOO_1_1-psprint-nocupsupdates.diff:
 cupsmgr.cxx  |   19 ++++++++++++++-----
 cupsmgr.cxx~ |only
 2 files changed, 14 insertions(+), 5 deletions(-)

--- NEW FILE patches-OOO_1_1-psprint-nocupsupdates.diff ---
diff -urd psprint/source/printer.old/cupsmgr.cxx psprint/source/printer/cupsmgr.cxx
--- psprint/source/printer.old/cupsmgr.cxx	2005-01-19 18:52:17.000000000 +0000
+++ psprint/source/printer/cupsmgr.cxx	2005-02-07 19:24:36.000000000 +0000
@@ -287,8 +287,8 @@
     const char* pResult = NULL;
 
     // if one thread hangs in cupsGetPPD already, don't start another
-    if( ! pAttribs )
-    {
+//    if( ! pAttribs )
+//    {
         pAttribs = new GetPPDAttribs();
         pAttribs->pFunction			= m_pcupsGetPPD;
         pAttribs->m_aCondition.reset();
@@ -315,7 +315,7 @@
             pAttribs->m_aCondition.set();
             osl_destroyThread( pAttribs->m_aThread );
         }
-    }
+//    }
 
     return pResult;
 }
@@ -360,7 +360,9 @@
         m_pDests( NULL ),
         m_bNewDests( false )
 {
-    m_aDestThread = osl_createThread( runDestThread, this );
+	// We cannot cope with this happening in the background for 1.1
+    //m_aDestThread = osl_createThread( runDestThread, this );
+	runDests();
 }
 
 CUPSManager::~CUPSManager()
@@ -409,11 +411,12 @@
 #ifdef ENABLE_CUPS
     // check whether thread has completed
     // if not behave like old printing system
-    osl::MutexGuard aGuard( m_aCUPSMutex );
+//    osl::MutexGuard aGuard( m_aCUPSMutex );
 
     if( ! (m_nDests && m_pDests ) )
         return;
 
+#if 0
     // dest thread has run, clean up
     if( m_aDestThread )
     {
@@ -421,6 +424,7 @@
         osl_destroyThread( m_aDestThread );
         m_aDestThread = NULL;
     }
+#endif
 
     // clear old stuff
     m_aCUPSDestMap.clear();
@@ -760,6 +764,10 @@
 bool CUPSManager::checkPrintersChanged()
 {
     bool bChanged = false;
+    // This code causes frequent SALEVENT_PRINTERCHANGED
+    // events, causing crashes in some scenarios in 1.1.
+    // Therefore we only enumerate printer queues on startup.
+#if 0
     if( m_aCUPSMutex.tryToAcquire() )
     {
         bChanged = m_bNewDests;
@@ -771,6 +779,7 @@
     
     if( bChanged )
         initialize();
+#endif
 
     return bChanged;
 }
Only in psprint/source/printer: cupsmgr.cxx~




More information about the fedora-cvs-commits mailing list