Date: prev next · Thread: first prev next last
2010 Archives by date, by thread · List index


Hello,

First try to remove call-catcher / bloat removal with sc/source/core/tool/chgtrack.cxx and sc/inc/chgtrack.hxx

I made a ./g grep AppendContent * on the whole project, i found it only on sc module
I made a build and this file compiled ok but i had an error after so...

I made a ./g grep dlsym * on sc and there was nothing, here is the details for the whole project :
serval@serval:~/libreoffice-source/libo$ ./g grep dlsym *
===== main repo =====
soltools/checkdll/checkdll.c: if ( (pfun = (char *(*)(void))dlsym(phandle, psymbol)) != NULL ) {
===== artwork =====
===== base =====
===== calc =====
===== components =====
setup_native/scripts/source/getuid.c:            dlsym (RTLD_NEXT, "fstat");
setup_native/scripts/source/getuid.c:            dlsym (RTLD_NEXT, "chmod");
setup_native/scripts/source/getuid.c: dlsym (RTLD_NEXT, "fstatat64"); setup_native/scripts/source/getuid.c: dlsym (RTLD_NEXT, "__lxstat"); setup_native/scripts/source/getuid.c: dlsym (RTLD_NEXT, "__lxstat64");
===== extensions =====
===== extras =====
===== filters =====
===== help =====
===== impress =====
===== libs-core =====
shell/source/unix/misc/gnome-open-url.c: gchar* (* g_strdup)(const gchar*) = (gchar* (*)(const gchar*)) dlsym(handle, "g_strdup"); shell/source/unix/misc/gnome-open-url.c: (gboolean (*) (void)) dlsym(handle, "gnome_vfs_init"); shell/source/unix/misc/gnome-open-url.c: (GnomeVFSResult (*) (const char *)) dlsym(handle, "gnome_vfs_url_show");
===== libs-extern =====
===== libs-extern-sys =====
===== libs-gui =====
vcl/source/glyphs/gcach_ftyp.cxx: FT_Int *amajor, FT_Int *aminor, FT_Int *apatch))(sal_IntPtr)dlsym( RTLD_DEFAULT, "FT_Library_Version" ); vcl/source/glyphs/gcach_ftyp.cxx: pFTNewSize = (FT_Error(*)(FT_Face,FT_Size*))(sal_IntPtr)dlsym( RTLD_DEFAULT, "FT_New_Size" ); vcl/source/glyphs/gcach_ftyp.cxx: pFTActivateSize = (FT_Error(*)(FT_Size))(sal_IntPtr)dlsym( RTLD_DEFAULT, "FT_Activate_Size" ); vcl/source/glyphs/gcach_ftyp.cxx: pFTDoneSize = (FT_Error(*)(FT_Size))(sal_IntPtr)dlsym( RTLD_DEFAULT, "FT_Done_Size" ); vcl/source/glyphs/gcach_ftyp.cxx: pFTEmbolden = (FT_Error(*)(FT_GlyphSlot))(sal_IntPtr)dlsym( RTLD_DEFAULT, "FT_GlyphSlot_Embolden" ); vcl/source/glyphs/gcach_ftyp.cxx: pFTOblique = (FT_Error(*)(FT_GlyphSlot))(sal_IntPtr)dlsym( RTLD_DEFAULT, "FT_GlyphSlot_Oblique" ); vcl/source/glyphs/gcach_ftyp.cxx: // assume systems where dlsym is not possible use supplied library vcl/unx/source/app/i18n_wrp.cxx: g_open_im = (OpenFunction)(long)dlsym(g_dlmodule, "__XOpenIM");
===== postprocess =====
===== sdk =====
===== testing =====
===== ure =====
bridges/source/cpp_uno/gcc3_aix_powerpc/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_alpha/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx: dlsym(RTLD_DEFAULT, "__clear_cache"); bridges/source/cpp_uno/gcc3_linux_arm/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_hppa/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_ia64/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_intel/except.cxx: rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_intel/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_m68k/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_mips/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_powerpc/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_powerpc64/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_s390/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_s390x/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_sparc/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx: rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_macosx_intel/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_macosx_powerpc/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_os2_intel/except.cxx: //rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_os2_intel/except.cxx: rtti = (type_info *)dlsym( hmod, symName.getStr() ); bridges/source/cpp_uno/gcc3_solaris_intel/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); bridges/source/cpp_uno/gcc3_solaris_sparc/except.cxx: rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); pyuno/source/module/pyuno_dlopenwrapper.c: func = (void (*)())dlsym (h, "initpyuno");
sal/osl/unx/module.c:        fcnAddr = dlsym(Module, pSymbol);
sal/osl/unx/process_impl.cxx:    void * addr = dlsym (RTLD_DEFAULT, "main");
===== writer =====

How to be sure the function isn't called by dlsym ?
For example, must we check if a dlsym on the function AppendContent of the class chgtrack is called via a function of sal/osl/unx/module.c ?

Julien.
commit 6ac6f2458d5114af29428b94be40034bef636c7b
Author: serval <serval@ilapharm.com>
Date:   Thu Dec 9 22:44:46 2010 +0100

    First try to remove of a call-catcher / bloat removal

diff --git a/sc/source/core/tool/chgtrack.cxx b/sc/source/core/tool/chgtrack.cxx
index baef1ae..63a1284 100644
--- a/sc/source/core/tool/chgtrack.cxx
+++ b/sc/source/core/tool/chgtrack.cxx
@@ -2743,24 +2743,6 @@ BOOL ScChangeTrack::IsMatrixFormulaRangeDifferent( const ScBaseCell* 
pOldCell,
     return nC1 != nC2 || nR1 != nR2;
 }
 
-
-void ScChangeTrack::AppendContent( const ScAddress& rPos,
-        const String& rNewValue, ScBaseCell* pOldCell )
-{
-    String aOldValue;
-    ScChangeActionContent::GetStringOfCell( aOldValue, pOldCell, pDoc, rPos );
-    if ( aOldValue != rNewValue ||
-            IsMatrixFormulaRangeDifferent( pOldCell, NULL ) )
-    {  // nur wirkliche Aenderung tracken
-        ScRange aRange( rPos );
-        ScChangeActionContent* pAct = new ScChangeActionContent( aRange );
-        pAct->SetOldValue( pOldCell, pDoc, pDoc );
-        pAct->SetNewValue( rNewValue, pDoc );
-        Append( pAct );
-    }
-}
-
-
 void ScChangeTrack::AppendContent( const ScAddress& rPos,
         const ScBaseCell* pOldCell, ULONG nOldFormat, ScDocument* pRefDoc )
 {
commit 85f50f62704db5534b6997f596e103b4b1d27068
Author: serval <serval@ilapharm.com>
Date:   Thu Dec 9 23:26:03 2010 +0100

    Remove of the virtual function AppendContent

diff --git a/sc/inc/chgtrack.hxx b/sc/inc/chgtrack.hxx
index e733509..c78b4fc 100644
--- a/sc/inc/chgtrack.hxx
+++ b/sc/inc/chgtrack.hxx
@@ -1248,11 +1248,6 @@ public:
                                 // nicht anders geht (setzen nur String fuer
                                 // NewValue bzw. Formelerzeugung)
 
-                                // bevor neuer Wert im Dokument gesetzt wird
-            void                               AppendContent( const ScAddress& rPos,
-                                    const String& rNewValue,
-                                    ScBaseCell* pOldCell );
-
     SC_DLLPUBLIC               void                            AppendInsert( const ScRange& );
 
                                 // pRefDoc may be NULL => no lookup of contents

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.