[PATCH] Remove code associated with psprint::CompatMetricOverride se...

Noel Grandin (via Code Review) gerrit at gerrit.libreoffice.org
Wed May 8 01:54:59 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3824

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/24/3824/1

Remove code associated with psprint::CompatMetricOverride service

We don't actually have any implementations of this service.

This service was introduced by
   commit 01cf481111436df2cc3f01d1c57cc4348fc037ef
   Author: Kurt Zenker <kz at openoffice.org>
   Date:   Wed Jun 20 09:07:44 2007 +0000
       INTEGRATION: CWS compmetric (1.77.2); FILE MERGED
       2007/05/09 16:27:46 pl 1.77.2.2: #146890# algorithm is needed
       2007/05/09 12:13:59 pl 1.77.2.1: #146890# backwards compatibility service for metrics

Michael Stahl seems to think it was a Sun-internal hack introduced
for a specific customer.

Change-Id: I1b27778f827504c2adb0e27e8d7c0f0dedcaf940
---
M include/vcl/fontmanager.hxx
M include/vcl/print.hxx
M padmin/source/prtsetup.cxx
M sw/inc/IDocumentSettingAccess.hxx
M sw/source/core/doc/doc.cxx
M sw/source/filter/xml/xmlimp.cxx
M sw/source/ui/uno/SwXDocumentSettings.cxx
M vcl/generic/fontmanager/fontmanager.cxx
M vcl/generic/print/genpspgraphics.cxx
M vcl/inc/salprn.hxx
M vcl/source/gdi/print.cxx
11 files changed, 17 insertions(+), 265 deletions(-)



diff --git a/include/vcl/fontmanager.hxx b/include/vcl/fontmanager.hxx
index 05955f9..41cf2e2 100644
--- a/include/vcl/fontmanager.hxx
+++ b/include/vcl/fontmanager.hxx
@@ -284,8 +284,6 @@
 
     mutable FontCache*                                                        m_pFontCache;
 
-    mutable std::vector< fontID >               m_aOverrideFonts;
-
     OString getAfmFile( PrintFont* pFont ) const;
     OString getFontFile( PrintFont* pFont ) const;
 
@@ -343,8 +341,6 @@
     */
     bool addFontconfigDir(const OString& rDirectory);
 
-    bool readOverrideMetrics();
-
     std::set<OString> m_aPreviousLangSupportRequests;
     std::vector<OString> m_aCurrentRequests;
     Timer m_aFontInstallerTimer;
@@ -371,9 +367,9 @@
     // returns the ids of all managed fonts. on pParser != NULL
     // all fonttype::Builtin type fonts are not listed
     // which do not occur in the PPD of pParser
-    void getFontList( std::list< fontID >& rFontIDs, const PPDParser* pParser = NULL, bool bUseOverrideMetrics = false );
+    void getFontList( std::list< fontID >& rFontIDs, const PPDParser* pParser = NULL );
     // get the font list and fast font info. see getFontList for pParser
-    void getFontListWithFastInfo( std::list< FastPrintFontInfo >& rFonts, const PPDParser* pParser = NULL, bool bUseOverrideMetrics = false );
+    void getFontListWithFastInfo( std::list< FastPrintFontInfo >& rFonts, const PPDParser* pParser = NULL );
 
     // get font info for a specific font
     bool getFontInfo( fontID nFontID, PrintFontInfo& rInfo ) const;
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx
index c40e8bc..c0cb364 100644
--- a/include/vcl/print.hxx
+++ b/include/vcl/print.hxx
@@ -357,8 +357,6 @@
     void                        SetErrorHdl( const Link& rLink ) { maErrorHdl = rLink; }
     const Link&                 GetErrorHdl() const { return maErrorHdl; }
 
-    void                        Compat_OldPrinterMetrics( bool bSet );
-
     /** checks the printer list and updates it necessary
     *
     *   sends a DataChanged event of type DATACHANGED_PRINTER
diff --git a/padmin/source/prtsetup.cxx b/padmin/source/prtsetup.cxx
index 53d09ce..15c5fc5 100644
--- a/padmin/source/prtsetup.cxx
+++ b/padmin/source/prtsetup.cxx
@@ -650,7 +650,7 @@
     // fill to box
     PrintFontManager& rFontManager = PrintFontManager::get();
     ::std::list< FastPrintFontInfo > aFonts;
-    rFontManager.getFontListWithFastInfo( aFonts, m_pParent->m_aJobData.m_pParser, false );
+    rFontManager.getFontListWithFastInfo( aFonts, m_pParent->m_aJobData.m_pParser );
     ::std::list< FastPrintFontInfo >::const_iterator it;
     ::boost::unordered_map< OUString, int, OUStringHash > aToMap, aFromMap;
     for( it = aFonts.begin(); it != aFonts.end(); ++it )
diff --git a/sw/inc/IDocumentSettingAccess.hxx b/sw/inc/IDocumentSettingAccess.hxx
index 8214f1a..1203915 100644
--- a/sw/inc/IDocumentSettingAccess.hxx
+++ b/sw/inc/IDocumentSettingAccess.hxx
@@ -65,7 +65,6 @@
          CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAME,
 
          UNIX_FORCE_ZERO_EXT_LEADING,
-         USE_OLD_PRINTER_METRICS,
          TABS_RELATIVE_TO_INDENT,
          PROTECT_FORM,
          // #i89181#
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index c8e6c90..db23e35 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -181,7 +181,6 @@
         // #i68949#
         case CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAME: return mbClipAsCharacterAnchoredWriterFlyFrames;
         case UNIX_FORCE_ZERO_EXT_LEADING: return mbUnixForceZeroExtLeading;
-        case USE_OLD_PRINTER_METRICS: return mbOldPrinterMetrics;
         case TABS_RELATIVE_TO_INDENT : return mbTabRelativeToIndent;
         case PROTECT_FORM: return mbProtectForm;
         // #i89181#
@@ -310,9 +309,6 @@
             mbProtectForm = value;
             break;
 
-        case USE_OLD_PRINTER_METRICS:
-            mbOldPrinterMetrics = value;
-            break;
         case TABS_RELATIVE_TO_INDENT:
             mbTabRelativeToIndent = value;
             break;
diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx
index 34e1648..2be3074 100644
--- a/sw/source/filter/xml/xmlimp.cxx
+++ b/sw/source/filter/xml/xmlimp.cxx
@@ -1455,14 +1455,6 @@
         // The flag might be set from setting the printer, so it
         // it is required to clear it.
         pDoc->SetOLEPrtNotifyPending( !pPrinter->IsKnown() );
-
-        // old printer metrics compatibility
-        if (  pDoc->get(IDocumentSettingAccess::USE_OLD_PRINTER_METRICS ) &&
-             !pDoc->get(IDocumentSettingAccess::USE_VIRTUAL_DEVICE ) )
-        {
-            pPrinter->Compat_OldPrinterMetrics( true );
-            pDoc->GetDocShell()->UpdateFontList();
-        }
     }
 }
 
diff --git a/sw/source/ui/uno/SwXDocumentSettings.cxx b/sw/source/ui/uno/SwXDocumentSettings.cxx
index a2f3e07..8944837 100644
--- a/sw/source/ui/uno/SwXDocumentSettings.cxx
+++ b/sw/source/ui/uno/SwXDocumentSettings.cxx
@@ -662,10 +662,7 @@
         }
         break;
         case HANDLE_USE_OLD_PRINTER_METRICS:
-        {
-            sal_Bool bTmp = *(sal_Bool*)rValue.getValue();
-            mpDoc->set(IDocumentSettingAccess::USE_OLD_PRINTER_METRICS, bTmp);
-        }
+            // ignore - this is a dead property
         break;
         case HANDLE_TABS_RELATIVE_TO_INDENT:
         {
@@ -1085,12 +1082,6 @@
         case HANDLE_UNIX_FORCE_ZERO_EXT_LEADING:
         {
             sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::UNIX_FORCE_ZERO_EXT_LEADING);
-            rValue.setValue( &bTmp, ::getBooleanCppuType() );
-        }
-        break;
-        case HANDLE_USE_OLD_PRINTER_METRICS:
-        {
-            sal_Bool bTmp = mpDoc->get(IDocumentSettingAccess::USE_OLD_PRINTER_METRICS);
             rValue.setValue( &bTmp, ::getBooleanCppuType() );
         }
         break;
diff --git a/vcl/generic/fontmanager/fontmanager.cxx b/vcl/generic/fontmanager/fontmanager.cxx
index e86fceb..14f5759 100644
--- a/vcl/generic/fontmanager/fontmanager.cxx
+++ b/vcl/generic/fontmanager/fontmanager.cxx
@@ -1656,7 +1656,6 @@
         m_aFonts.clear();
         m_aFontDirectories.clear();
         m_aPrivateFontDirectories.clear();
-        m_aOverrideFonts.clear();
     }
 
 #if OSL_DEBUG_LEVEL > 1
@@ -1951,7 +1950,7 @@
     };
 }
 
-void PrintFontManager::getFontList( ::std::list< fontID >& rFontIDs, const PPDParser* pParser, bool bUseOverrideMetrics )
+void PrintFontManager::getFontList( ::std::list< fontID >& rFontIDs, const PPDParser* pParser )
 {
     rFontIDs.clear();
     boost::unordered_map< fontID, PrintFont* >::const_iterator it;
@@ -1980,20 +1979,6 @@
                        BuiltinFontIdentifierHash
                        > aBuiltinFonts;
 
-        std::map<int, fontID > aOverridePSNames;
-        if( bUseOverrideMetrics )
-        {
-            readOverrideMetrics();
-            for( std::vector<fontID>::const_iterator over = m_aOverrideFonts.begin();
-                 over != m_aOverrideFonts.end(); ++over )
-            {
-                boost::unordered_map<fontID,PrintFont*>::const_iterator font_it = m_aFonts.find( *over );
-                DBG_ASSERT( font_it != m_aFonts.end(), "override to nonexistant font" );
-                if( font_it != m_aFonts.end() )
-                    aOverridePSNames[ font_it->second->m_nPSName ] = *over;
-            }
-        }
-
         int nFonts = pParser->getFonts();
         for( int i = 0; i < nFonts; i++ )
             aBuiltinPSNames.insert( m_pAtoms->getAtom( ATOM_PSNAME, pParser->getFont( i ) ) );
@@ -2003,30 +1988,13 @@
             if( it->second->m_eType == fonttype::Builtin &&
                 aBuiltinPSNames.find( pFont->m_nPSName ) != aBuiltinPSNames.end() )
             {
-                bool bInsert = true;
-                if( bUseOverrideMetrics )
-                {
-                    // in override case only use the override fonts, not their counterparts
-                    std::map<int,fontID>::const_iterator over = aOverridePSNames.find( pFont->m_nPSName );
-                    if( over != aOverridePSNames.end() && over->second != it->first )
-                        bInsert = false;
-                }
-                else
-                {
-                    // do not insert override fonts in non override case
-                    if( std::find( m_aOverrideFonts.begin(), m_aOverrideFonts.end(), it->first ) != m_aOverrideFonts.end() )
-                        bInsert = false;
-                }
-                if( bInsert )
-                {
-                    aBuiltinFonts.insert( BuiltinFontIdentifier(
-                        m_pAtoms->getString( ATOM_FAMILYNAME, pFont->m_nFamilyName ),
-                        pFont->m_eItalic,
-                        pFont->m_eWeight,
-                        pFont->m_ePitch,
-                        pFont->m_aEncoding
-                        ) );
-                }
+                aBuiltinFonts.insert( BuiltinFontIdentifier(
+                    m_pAtoms->getString( ATOM_FAMILYNAME, pFont->m_nFamilyName ),
+                    pFont->m_eItalic,
+                    pFont->m_eWeight,
+                    pFont->m_ePitch,
+                    pFont->m_aEncoding
+                ) );
             }
         }
         for( it = m_aFonts.begin(); it != m_aFonts.end(); ++it )
@@ -2036,22 +2004,7 @@
             {
                 if( aBuiltinPSNames.find( pFont->m_nPSName ) != aBuiltinPSNames.end() )
                 {
-                    bool bInsert = true;
-                    if( bUseOverrideMetrics )
-                    {
-                        // in override case only use the override fonts, not their counterparts
-                        std::map<int,fontID>::const_iterator over = aOverridePSNames.find( pFont->m_nPSName );
-                        if( over != aOverridePSNames.end() && over->second != it->first )
-                            bInsert = false;
-                    }
-                    else
-                    {
-                        // do not insert override fonts in non override case
-                        if( std::find( m_aOverrideFonts.begin(), m_aOverrideFonts.end(), it->first ) != m_aOverrideFonts.end() )
-                            bInsert = false;
-                    }
-                    if( bInsert )
-                        rFontIDs.push_back( it->first );
+                    rFontIDs.push_back( it->first );
                 }
             }
             else if( aBuiltinFonts.find( BuiltinFontIdentifier(
@@ -2122,11 +2075,11 @@
 
 // -------------------------------------------------------------------------
 
-void PrintFontManager::getFontListWithFastInfo( ::std::list< FastPrintFontInfo >& rFonts, const PPDParser* pParser, bool bUseOverrideMetrics )
+void PrintFontManager::getFontListWithFastInfo( ::std::list< FastPrintFontInfo >& rFonts, const PPDParser* pParser )
 {
     rFonts.clear();
     ::std::list< fontID > aFontList;
-    getFontList( aFontList, pParser, bUseOverrideMetrics );
+    getFontList( aFontList, pParser );
 
     ::std::list< fontID >::iterator it;
     for( it = aFontList.begin(); it != aFontList.end(); ++it )
@@ -2867,165 +2820,4 @@
         return n;
     }
 }
-bool PrintFontManager::readOverrideMetrics()
-{
-    if( ! m_aOverrideFonts.empty() )
-        return false;
-
-    css::uno::Reference< XMultiServiceFactory > xFact( comphelper::getProcessServiceFactory() );
-    if( !xFact.is() )
-        return false;
-    css::uno::Reference< XMaterialHolder > xMat(
-                xFact->createInstance( "com.sun.star.psprint.CompatMetricOverride" ),
-                UNO_QUERY );
-    if( !xMat.is() )
-        return false;
-
-    Any aAny( xMat->getMaterial() );
-    Sequence< Any > aOverrideFonts;
-    if( ! (aAny >>= aOverrideFonts ) )
-        return false;
-    sal_Int32 nFonts = aOverrideFonts.getLength();
-    for( sal_Int32 i = 0; i < nFonts; i++ )
-    {
-        Sequence< NamedValue > aMetrics;
-        if( ! (aOverrideFonts.getConstArray()[i] >>= aMetrics) )
-            continue;
-        BuiltinFont* pFont = new BuiltinFont();
-        pFont->m_nDirectory = 0;
-        pFont->m_bUserOverride = false;
-        pFont->m_pMetrics = new PrintFontMetrics;
-        memset( pFont->m_pMetrics->m_aPages, 0xff, sizeof( pFont->m_pMetrics->m_aPages ) );
-        pFont->m_pMetrics->m_bKernPairsQueried = true;
-        sal_Int32 nProps = aMetrics.getLength();
-        const NamedValue* pProps = aMetrics.getConstArray();
-        for( sal_Int32 n = 0; n < nProps; n++ )
-        {
-            if ( pProps[n].Name == "FamilyName" )
-                pFont->m_nFamilyName = m_pAtoms->getAtom( ATOM_FAMILYNAME,
-                                                          getString(pProps[n].Value),
-                                                          sal_True );
-            else if ( pProps[n].Name == "PSName" )
-                pFont->m_nPSName = m_pAtoms->getAtom( ATOM_PSNAME,
-                                                      getString(pProps[n].Value),
-                                                      sal_True );
-            else if ( pProps[n].Name == "StyleName" )
-                pFont->m_aStyleName = getString(pProps[n].Value);
-            else if ( pProps[n].Name == "Italic" )
-                pFont->m_eItalic = static_cast<FontItalic>(getInt(pProps[n].Value));
-            else if ( pProps[n].Name == "Width" )
-                pFont->m_eWidth = static_cast<FontWidth>(getInt(pProps[n].Value));
-            else if ( pProps[n].Name == "Weight" )
-                pFont->m_eWeight = static_cast<FontWeight>(getInt(pProps[n].Value));
-            else if ( pProps[n].Name == "Pitch" )
-                pFont->m_ePitch = static_cast<FontPitch>(getInt(pProps[n].Value));
-            else if ( pProps[n].Name == "Encoding" )
-                pFont->m_aEncoding = static_cast<rtl_TextEncoding>(getInt(pProps[n].Value));
-            else if ( pProps[n].Name == "FontEncodingOnly" )
-                pFont->m_bFontEncodingOnly = getBool(pProps[n].Value);
-            else if ( pProps[n].Name == "GlobalMetricXWidth" )
-                pFont->m_aGlobalMetricX.width = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "GlobalMetricXHeight" )
-                pFont->m_aGlobalMetricX.height = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "GlobalMetricYWidth" )
-                pFont->m_aGlobalMetricY.width = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "GlobalMetricYHeight" )
-                pFont->m_aGlobalMetricY.height = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "Ascend" )
-                pFont->m_nAscend = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "Descend" )
-                pFont->m_nDescend = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "Leading" )
-                pFont->m_nLeading = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "XMin" )
-                pFont->m_nXMin = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "YMin" )
-                pFont->m_nYMin = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "XMax" )
-                pFont->m_nXMax = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "YMax" )
-                pFont->m_nYMax = getInt(pProps[n].Value);
-            else if ( pProps[n].Name == "VerticalSubstitutes" )
-                pFont->m_bHaveVerticalSubstitutedGlyphs = getBool(pProps[n].Value);
-            else if ( pProps[n].Name == "EncodingVector" )
-            {
-                Sequence< NamedValue > aEncoding;
-                pProps[n].Value >>= aEncoding;
-                sal_Int32 nEnc = aEncoding.getLength();
-                const NamedValue* pEnc = aEncoding.getConstArray();
-                for( sal_Int32 m = 0; m < nEnc; m++ )
-                {
-                    sal_Unicode cCode = *pEnc[m].Name.getStr();
-                    sal_Int32 nGlyph = getInt(pEnc[m].Value);
-                    pFont->m_aEncodingVector[ cCode ] = nGlyph;
-                }
-            }
-            else if ( pProps[n].Name == "NonEncoded" )
-            {
-                Sequence< NamedValue > aEncoding;
-                pProps[n].Value >>= aEncoding;
-                sal_Int32 nEnc = aEncoding.getLength();
-                const NamedValue* pEnc = aEncoding.getConstArray();
-                for( sal_Int32 m = 0; m < nEnc; m++ )
-                {
-                    sal_Unicode cCode = *pEnc[m].Name.getStr();
-                    OUString aGlyphName( getString(pEnc[m].Value) );
-                    pFont->m_aNonEncoded[ cCode ] = OUStringToOString(aGlyphName,RTL_TEXTENCODING_ASCII_US);
-                }
-            }
-            else if ( pProps[n].Name == "CharacterMetrics" )
-            {
-                // fill pFont->m_pMetrics->m_aMetrics
-                // expect triples of int: int -> CharacterMetric.{ width, height }
-                Sequence< sal_Int32 > aSeq;
-                pProps[n].Value >>= aSeq;
-                sal_Int32 nInts = aSeq.getLength();
-                const sal_Int32* pInts = aSeq.getConstArray();
-                for( sal_Int32 m = 0; m < nInts; m+=3 )
-                {
-                    pFont->m_pMetrics->m_aMetrics[ pInts[m] ].width = static_cast<short int>(pInts[m+1]);
-                    pFont->m_pMetrics->m_aMetrics[ pInts[m] ].height = static_cast<short int>(pInts[m+2]);
-                }
-            }
-            else if ( pProps[n].Name == "XKernPairs" )
-            {
-                // fill pFont->m_pMetrics->m_aXKernPairs
-                // expection name: <unicode1><unicode2> value: ((height << 16)| width)
-                Sequence< NamedValue > aKern;
-                pProps[n].Value >>= aKern;
-                KernPair aPair;
-                const NamedValue* pVals = aKern.getConstArray();
-                int nPairs = aKern.getLength();
-                for( int m = 0; m < nPairs; m++ )
-                {
-                    if( pVals[m].Name.getLength() == 2 )
-                    {
-                        aPair.first = pVals[m].Name.getStr()[0];
-                        aPair.second = pVals[m].Name.getStr()[1];
-                        sal_Int32 nKern = getInt( pVals[m].Value );
-                        aPair.kern_x = static_cast<short int>(nKern & 0xffff);
-                        aPair.kern_y = static_cast<short int>((sal_uInt32(nKern) >> 16) & 0xffff);
-                        pFont->m_pMetrics->m_aXKernPairs.push_back( aPair );
-                    }
-                }
-            }
-        }
-        // sanity check
-        if( pFont->m_nPSName                        &&
-            pFont->m_nFamilyName                    &&
-            ! pFont->m_pMetrics->m_aMetrics.empty() )
-        {
-            m_aOverrideFonts.push_back( m_nNextFontID );
-            m_aFonts[ m_nNextFontID++ ] = pFont;
-        }
-        else
-        {
-            DBG_ASSERT( 0, "override font failed" );
-            delete pFont;
-        }
-    }
-
-    return true;
-}
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/generic/print/genpspgraphics.cxx b/vcl/generic/print/genpspgraphics.cxx
index a26a844..10af660 100644
--- a/vcl/generic/print/genpspgraphics.cxx
+++ b/vcl/generic/print/genpspgraphics.cxx
@@ -894,7 +894,7 @@
 {
     ::std::list< psp::fontID > aList;
     psp::PrintFontManager& rMgr = psp::PrintFontManager::get();
-    rMgr.getFontList( aList, m_pJobData->m_pParser, m_pInfoPrinter->m_bCompatMetrics );
+    rMgr.getFontList( aList, m_pJobData->m_pParser );
 
     ::std::list< psp::fontID >::iterator it;
     psp::FastPrintFontInfo aInfo;
diff --git a/vcl/inc/salprn.hxx b/vcl/inc/salprn.hxx
index 9a23731..4f1066c 100644
--- a/vcl/inc/salprn.hxx
+++ b/vcl/inc/salprn.hxx
@@ -52,9 +52,8 @@
 public:
     std::vector< PaperInfo  >           m_aPaperFormats;    // all printer supported formats
     bool                                m_bPapersInit;      // set to true after InitPaperFormats
-    bool                                m_bCompatMetrics;
 
-    SalInfoPrinter() : m_bPapersInit( false ), m_bCompatMetrics( false ) {}
+    SalInfoPrinter() : m_bPapersInit( false ) {}
     virtual ~SalInfoPrinter();
 
     // SalGraphics or NULL, but two Graphics for all SalFrames
diff --git a/vcl/source/gdi/print.cxx b/vcl/source/gdi/print.cxx
index a3a107b..bbda65f 100644
--- a/vcl/source/gdi/print.cxx
+++ b/vcl/source/gdi/print.cxx
@@ -689,17 +689,6 @@
         pSVData->maGDIData.mpLastPrinter = mpPrev;
 }
 
-void Printer::Compat_OldPrinterMetrics( bool bSet )
-{
-    // propagate flag
-    if( mpInfoPrinter )
-        mpInfoPrinter->m_bCompatMetrics = bSet;
-
-    // get new font data
-    ImplUpdateFontData( sal_True );
-}
-
-
 sal_uLong Printer::GetCapabilities( sal_uInt16 nType ) const
 {
     if ( IsDisplayPrinter() )

-- 
To view, visit https://gerrit.libreoffice.org/3824
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1b27778f827504c2adb0e27e8d7c0f0dedcaf940
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Noel Grandin <noelgrandin at gmail.com>



More information about the LibreOffice mailing list