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
|