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
- [Libreoffice] [Patch] call-catcher / bloat removal · Julien Nabet
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.