[Libreoffice-commits] .: 5 commits - accessibility/bridge cui/source framework/source sw/source vcl/generic

Caolán McNamara caolan at kemper.freedesktop.org
Mon Feb 20 04:21:43 PST 2012


 accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx |    4 
 cui/source/inc/cuitabline.hxx                                   |    2 
 framework/source/services/autorecovery.cxx                      |  165 +++++-----
 framework/source/services/modulemanager.cxx                     |   13 
 sw/source/core/doc/doccomp.cxx                                  |    1 
 vcl/generic/fontmanager/fontconfig.cxx                          |   21 +
 6 files changed, 125 insertions(+), 81 deletions(-)

New commits:
commit 65a3ec97b5032d1748c8f84eeb0b8656e1c25918
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Feb 20 12:06:52 2012 +0000

    Resoves fdo#42901 duplicated .pfb without duplicated .afm drops font
    
    If we have a duplicate font entry the duplicate is dropped, but
    if the first font was invalid, e.g. .pfb without .afm this results
    in dropping *both* fonts, the valid and invalid one

diff --git a/vcl/generic/fontmanager/fontconfig.cxx b/vcl/generic/fontmanager/fontconfig.cxx
index 4fd5d9e..db53846 100644
--- a/vcl/generic/fontmanager/fontconfig.cxx
+++ b/vcl/generic/fontmanager/fontconfig.cxx
@@ -466,6 +466,19 @@ namespace
     }
 }
 
+//FontConfig doesn't come with a way to remove an element from a FontSet as far
+//as I can see
+static void lcl_FcFontSetRemove(FcFontSet* pFSet, int i)
+{
+    FcPatternDestroy(pFSet->fonts[i]);
+
+    int nTail = pFSet->nfont - (i + 1);
+    --pFSet->nfont;
+    if (!nTail)
+        return;
+    memmove(pFSet->fonts + i, pFSet->fonts + i + 1, nTail*sizeof(FcPattern*));
+}
+
 int PrintFontManager::countFontconfigFonts( boost::unordered_map<rtl::OString, int, rtl::OStringHash>& o_rVisitedPaths )
 {
     int nFonts = 0;
@@ -557,7 +570,13 @@ int PrintFontManager::countFontconfigFonts( boost::unordered_map<rtl::OString, i
             }
             if( aFonts.empty() )
             {
-                // TODO: remove fonts unusable to psprint from fontset
+                //remove font, reuse index
+                //we want to remove unusable fonts here, in case there is a usable font
+                //which duplicates the properties of the unusable one
+                //
+                //not removing the unusable font will risk the usable font being rejected
+                //as a duplicate by isPreviouslyDuplicateOrObsoleted
+                lcl_FcFontSetRemove(pFSet, i--);
                 continue;
             }
 
commit 1be196c7fbf59fd811f19505f4691b979b6d4bdb
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sun Feb 19 19:51:40 2012 +0000

    WaE: unused variables

diff --git a/framework/source/services/autorecovery.cxx b/framework/source/services/autorecovery.cxx
index 6bbfc29..3436710 100644
--- a/framework/source/services/autorecovery.cxx
+++ b/framework/source/services/autorecovery.cxx
@@ -692,7 +692,9 @@ void AutoRecovery::implts_dispatch(const DispatchParams& aParams)
         throw;
     }
     catch(const css::uno::Exception&)
-        {} // TODO better error handling
+    {
+        // TODO better error handling
+    }
 
     aListenerInformer.stop();
 
@@ -972,12 +974,12 @@ css::uno::Reference< css::container::XNameAccess > AutoRecovery::implts_openConf
                                                          ::comphelper::ConfigurationHelper::E_STANDARD) >>= nMinSpaceConfigSave;
     }
     catch(const css::uno::Exception&)
-        {
-            // These config keys are not sooooo important, that
-            // we are interested on errors here realy .-)
-            nMinSpaceDocSave    = MIN_DISCSPACE_DOCSAVE;
-            nMinSpaceConfigSave = MIN_DISCSPACE_CONFIGSAVE;
-        }
+    {
+        // These config keys are not sooooo important, that
+        // we are interested on errors here realy .-)
+        nMinSpaceDocSave    = MIN_DISCSPACE_DOCSAVE;
+        nMinSpaceConfigSave = MIN_DISCSPACE_CONFIGSAVE;
+    }
 
     // SAFE -> ----------------------------------
     aWriteLock.lock();
@@ -1291,7 +1293,9 @@ void AutoRecovery::implts_flushConfigItem(const AutoRecovery::TDocumentInfo& rIn
                 xModify->removeByName(sID);
             }
             catch(const css::container::NoSuchElementException&)
-                { return; }
+            {
+                return;
+            }
         }
         else
         {
@@ -1317,9 +1321,13 @@ void AutoRecovery::implts_flushConfigItem(const AutoRecovery::TDocumentInfo& rIn
         }
     }
     catch(const css::uno::RuntimeException&)
-        { throw; }
+    {
+        throw;
+    }
     catch(const css::uno::Exception&)
-        {} // ??? can it happen that a full disc let these set of operations fail too ???
+    {
+        // ??? can it happen that a full disc let these set of operations fail too ???
+    }
 
     sal_Int32 nRetry = RETRY_STORE_ON_FULL_DISC_FOREVER;
     do
@@ -1336,28 +1344,28 @@ void AutoRecovery::implts_flushConfigItem(const AutoRecovery::TDocumentInfo& rIn
             nRetry = 0;
         }
         catch(const css::uno::Exception&)
-            {
-                // a) FULL DISC seams to be the problem behind                              => show error and retry it forever (e.g. retry=300)
-                // b) unknown problem (may be locking problem)                              => reset RETRY value to more usefull value(!) (e.g. retry=3)
-                // c) unknown problem (may be locking problem) + 1..2 repeating operations  => throw the original exception to force generation of a stacktrace !
-
-                // SAFE ->
-                ReadGuard aReadLock(m_aLock);
-                sal_Int32 nMinSpaceConfigSave = m_nMinSpaceConfigSave;
-                aReadLock.unlock();
-                // <- SAFE
-
-                if (! impl_enoughDiscSpace(nMinSpaceConfigSave))
-                    AutoRecovery::impl_showFullDiscError();
-                else
-                if (nRetry > RETRY_STORE_ON_MIGHT_FULL_DISC_USEFULL)
-                    nRetry = RETRY_STORE_ON_MIGHT_FULL_DISC_USEFULL;
-                else
-                if (nRetry <= GIVE_UP_RETRY)
-                    throw; // force stacktrace to know if there exist might other reasons, why an AutoSave can fail !!!
+        {
+            // a) FULL DISC seams to be the problem behind                              => show error and retry it forever (e.g. retry=300)
+            // b) unknown problem (may be locking problem)                              => reset RETRY value to more usefull value(!) (e.g. retry=3)
+            // c) unknown problem (may be locking problem) + 1..2 repeating operations  => throw the original exception to force generation of a stacktrace !
+
+            // SAFE ->
+            ReadGuard aReadLock(m_aLock);
+            sal_Int32 nMinSpaceConfigSave = m_nMinSpaceConfigSave;
+            aReadLock.unlock();
+            // <- SAFE
+
+            if (! impl_enoughDiscSpace(nMinSpaceConfigSave))
+                AutoRecovery::impl_showFullDiscError();
+            else
+            if (nRetry > RETRY_STORE_ON_MIGHT_FULL_DISC_USEFULL)
+                nRetry = RETRY_STORE_ON_MIGHT_FULL_DISC_USEFULL;
+            else
+            if (nRetry <= GIVE_UP_RETRY)
+                throw; // force stacktrace to know if there exist might other reasons, why an AutoSave can fail !!!
 
-                --nRetry;
-            }
+            --nRetry;
+        }
     }
     while(nRetry>0);
 }
@@ -2030,7 +2038,8 @@ void lc_removeLockFile(AutoRecovery::TDocumentInfo& rInfo)
             }
         }
         catch( const css::uno::Exception& )
-        {}
+        {
+        }
     }
 }
 
@@ -2085,17 +2094,11 @@ void AutoRecovery::implts_prepareSessionShutdown()
                 {
                     xClose->close(sal_False);
                 }
-                /*
-                catch(const css::lang::DisposedException&)
-                    {
-                        // closed ... disposed ... always the same .-)
-                    }
-                */
                 catch(const css::uno::Exception&)
-                    {
-                        // At least it's only a try to close these documents before anybody else it does.
-                        // So it seams to be possible to ignore any error here .-)
-                    }
+                {
+                    // At least it's only a try to close these documents before anybody else it does.
+                    // So it seams to be possible to ignore any error here .-)
+                }
 
                 rInfo.Document.clear();
             }
@@ -2374,30 +2377,30 @@ void AutoRecovery::implts_saveOneDoc(const ::rtl::OUString&
             nRetry = 0;
         }
         catch(const css::uno::Exception&)
-            {
-                bError = sal_True;
+        {
+            bError = sal_True;
 
-                // a) FULL DISC seams to be the problem behind                              => show error and retry it forever (e.g. retry=300)
-                // b) unknown problem (may be locking problem)                              => reset RETRY value to more usefull value(!) (e.g. retry=3)
-                // c) unknown problem (may be locking problem) + 1..2 repeating operations  => throw the original exception to force generation of a stacktrace !
+            // a) FULL DISC seams to be the problem behind                              => show error and retry it forever (e.g. retry=300)
+            // b) unknown problem (may be locking problem)                              => reset RETRY value to more usefull value(!) (e.g. retry=3)
+            // c) unknown problem (may be locking problem) + 1..2 repeating operations  => throw the original exception to force generation of a stacktrace !
 
-                // SAFE ->
-                ReadGuard aReadLock2(m_aLock);
-                sal_Int32 nMinSpaceDocSave = m_nMinSpaceDocSave;
-                aReadLock2.unlock();
-                // <- SAFE
+            // SAFE ->
+            ReadGuard aReadLock2(m_aLock);
+            sal_Int32 nMinSpaceDocSave = m_nMinSpaceDocSave;
+            aReadLock2.unlock();
+            // <- SAFE
 
-                if (! impl_enoughDiscSpace(nMinSpaceDocSave))
-                    AutoRecovery::impl_showFullDiscError();
-                else
-                if (nRetry > RETRY_STORE_ON_MIGHT_FULL_DISC_USEFULL)
-                    nRetry = RETRY_STORE_ON_MIGHT_FULL_DISC_USEFULL;
-                else
-                if (nRetry <= GIVE_UP_RETRY)
-                    throw; // force stacktrace to know if there exist might other reasons, why an AutoSave can fail !!!
+            if (! impl_enoughDiscSpace(nMinSpaceDocSave))
+                AutoRecovery::impl_showFullDiscError();
+            else
+            if (nRetry > RETRY_STORE_ON_MIGHT_FULL_DISC_USEFULL)
+                nRetry = RETRY_STORE_ON_MIGHT_FULL_DISC_USEFULL;
+            else
+            if (nRetry <= GIVE_UP_RETRY)
+                throw; // force stacktrace to know if there exist might other reasons, why an AutoSave can fail !!!
 
-                --nRetry;
-            }
+            --nRetry;
+        }
     }
     while(nRetry>0);
 
@@ -2726,7 +2729,9 @@ void AutoRecovery::implts_openOneDoc(const ::rtl::OUString&               sURL
         rInfo.Document = xModel.get();
     }
     catch(const css::uno::RuntimeException&)
-        { throw; }
+    {
+        throw;
+    }
     catch(const css::uno::Exception&)
     {
         Any aCaughtException( ::cppu::getCaughtException() );
@@ -2822,7 +2827,9 @@ void AutoRecovery::implts_informListener(      sal_Int32                      eJ
                 xListener->statusChanged(aEvent);
             }
             catch(const css::uno::RuntimeException&)
-                { pIt.remove(); }
+            {
+                pIt.remove();
+            }
         }
     }
 }
@@ -3243,7 +3250,9 @@ AutoRecovery::EFailureSafeResult AutoRecovery::implts_copyFile(const ::rtl::OUSt
         aTargetContent = ::ucbhelper::Content(sTargetPath, xEnvironment);
     }
     catch(const css::uno::Exception&)
-        { return AutoRecovery::E_WRONG_TARGET_PATH; }
+    {
+        return AutoRecovery::E_WRONG_TARGET_PATH;
+    }
 
     sal_Int32 nNameClash;
     nNameClash = css::ucb::NameClash::RENAME;
@@ -3254,7 +3263,9 @@ AutoRecovery::EFailureSafeResult AutoRecovery::implts_copyFile(const ::rtl::OUSt
         aTargetContent.transferContent(aSourceContent, ::ucbhelper::InsertOperation_COPY, sTargetName, nNameClash);
     }
     catch(const css::uno::Exception&)
-        { return AutoRecovery::E_ORIGINAL_FILE_MISSING; }
+    {
+        return AutoRecovery::E_ORIGINAL_FILE_MISSING;
+    }
 
     return AutoRecovery::E_COPIED;
 }
@@ -3409,7 +3420,9 @@ void AutoRecovery::implts_verifyCacheAgainstDesktopDocumentList()
             // can happen in multithreaded environments, that frames was removed from the container during this loop runs!
             // Ignore it.
             catch(const css::lang::IndexOutOfBoundsException&)
-                { continue; }
+            {
+                continue;
+            }
 
             // We are interested on visible documents only.
             // Note: It's n optional interface .-(
@@ -3442,10 +3455,13 @@ void AutoRecovery::implts_verifyCacheAgainstDesktopDocumentList()
             implts_registerDocument(xModel);
         }
     }
-    catch(const css::uno::RuntimeException& exRun)
-        { throw; }
+    catch(const css::uno::RuntimeException&)
+    {
+        throw;
+    }
     catch(const css::uno::Exception&)
-        {}
+    {
+    }
 
     LOG_RECOVERY("... AutoRecovery::implts_verifyCacheAgainstDesktopDocumentList()")
 }
@@ -3620,7 +3636,8 @@ void AutoRecovery::impl_flushALLConfigChanges()
         ::utl::ConfigManager::storeConfigItems();
     }
     catch(const css::uno::Exception&)
-        {}
+    {
+    }
 }
 
 //-----------------------------------------------
@@ -3635,7 +3652,8 @@ void AutoRecovery::st_impl_removeFile(const ::rtl::OUString& sURL)
         aContent.executeCommand(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("delete")), css::uno::makeAny(sal_True));
     }
     catch(const css::uno::Exception&)
-        {}
+    {
+    }
 }
 
 //-----------------------------------------------
@@ -3654,7 +3672,8 @@ void AutoRecovery::st_impl_removeLockFile()
         AutoRecovery::st_impl_removeFile(sLockURL);
     }
     catch(const css::uno::Exception&)
-        {}
+    {
+    }
 }
 
 } // namespace framework
diff --git a/framework/source/services/modulemanager.cxx b/framework/source/services/modulemanager.cxx
index 9ae3cfd..665d3dc 100644
--- a/framework/source/services/modulemanager.cxx
+++ b/framework/source/services/modulemanager.cxx
@@ -347,7 +347,8 @@ css::uno::Reference< css::container::XEnumeration > SAL_CALL ModuleManager::crea
                 lResult.push_back(css::uno::makeAny(lModuleProps.getAsConstPropertyValueList()));
         }
         catch(const css::uno::Exception&)
-            {}
+        {
+        }
     }
 
     ::comphelper::OAnyEnumeration*                      pEnum = new ::comphelper::OAnyEnumeration(lResult.getAsConstList());
@@ -377,10 +378,14 @@ css::uno::Reference< css::container::XNameAccess > ModuleManager::implts_getConf
                     CFGPATH_FACTORIES,
                     ::comphelper::ConfigurationHelper::E_READONLY);
     }
-    catch(const css::uno::RuntimeException& exRun)
-        { throw; }
+    catch(const css::uno::RuntimeException&)
+    {
+        throw;
+    }
     catch(const css::uno::Exception&)
-        { xCfg.clear(); }
+    {
+        xCfg.clear();
+    }
 
     // SAFE -> ----------------------------------
     WriteGuard aWriteLock(m_aLock);
commit 39d6e42ca461a115e218eca67e4ed4365b3cf511
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sun Feb 19 19:48:26 2012 +0000

    WaE: ununsed variables

diff --git a/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx b/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx
index 835bcd3..9ee03eb 100644
--- a/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx
+++ b/accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx
@@ -168,7 +168,7 @@ Java_org_openoffice_accessibility_WindowsAccessBridgeAdapter_createMapping(JNIEn
         }
     }
 
-    catch ( RuntimeException &e)
+    catch (const RuntimeException &)
     {
         OSL_TRACE("RuntimeException caught while initializing the mapping");
     }
@@ -252,7 +252,7 @@ void handleWindowEvent(Window * pWindow, bool bShow)
                     }
                 }
             }
-            catch (::com::sun::star::uno::RuntimeException &e)
+            catch (const ::com::sun::star::uno::RuntimeException &)
             {
                 // Ignore show events that throw DisposedExceptions in getAccessibleContext(),
                 // but keep revoking these windows in hide(s).
commit efbbf9b63cc80d1f1a749ccbc2312a1a76b3bac0
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sun Feb 19 19:46:03 2012 +0000

    WaE: msvc:C4099

diff --git a/cui/source/inc/cuitabline.hxx b/cui/source/inc/cuitabline.hxx
index 901d934..7d0793a 100644
--- a/cui/source/inc/cuitabline.hxx
+++ b/cui/source/inc/cuitabline.hxx
@@ -91,7 +91,7 @@ public:
 
 /*************************************************************************/
 
-class SvxBmpItemInfo;
+struct SvxBmpItemInfo;
 typedef ::std::vector< SvxBmpItemInfo* > SvxBmpItemInfoList;
 
 class SvxLineTabPage : public SvxTabPage
commit ba1eaf504aefefde0db374f20e7f5bb6d28cde5a
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sun Feb 19 19:42:51 2012 +0000

    WaE: add virtual dtor

diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx
index 1da7704..80c77c4 100644
--- a/sw/source/core/doc/doccomp.cxx
+++ b/sw/source/core/doc/doccomp.cxx
@@ -200,6 +200,7 @@ public:
     virtual bool Compare( int nIdx1, int nIdx2 ) const = 0;
     virtual int GetLen1() const = 0;
     virtual int GetLen2() const = 0;
+    virtual ~ArrayComparator() {}
 };
 
 // Consider two lines equal if similar enough (e.g. look like different


More information about the Libreoffice-commits mailing list