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 :
ser...@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 <ser...@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 <ser...@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
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice