summaryrefslogtreecommitdiff
path: root/patches/vclplug/crash-ppd-parse.diff
blob: 6d0edd6cc0ec59d8e9f5f0193479a1bc0fbee012 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
diff -urd psprint/source/printer/cupsmgr.cxx psprint-fixppdcrash/source/printer/cupsmgr.cxx
--- psprint/source/printer/cupsmgr.cxx	2004-11-09 16:37:51.000000000 +0000
+++ psprint-fixppdcrash/source/printer/cupsmgr.cxx	2004-11-24 21:42:59.000000000 +0000
@@ -601,14 +601,20 @@
                     // remember the default context for later use
                     PPDContext& rContext = m_aDefaultContexts[ aPrinter ];
                     rContext.setParser( pNewParser );
-                    for( int i = 0; i < pPPD->num_groups; i++ )
-                        updatePrinterContextInfo( pPPD->groups + i, rContext );
+					if(pPPD)
+					{
+						for( int i = 0; i < pPPD->num_groups; i++ )
+							updatePrinterContextInfo( pPPD->groups + i, rContext );
+					}
                     
                     rInfo.m_pParser = pNewParser;
                     rInfo.m_aContext = rContext;
                     
-                    // clean up the mess
-                    m_pCUPSWrapper->ppdClose( pPPD );
+					if(pPPD)
+					{
+						// clean up the mess
+						m_pCUPSWrapper->ppdClose( pPPD );
+					}
                 }
 #if OSL_DEBUG_LEVEL > 1
                 else