2012/5/26 Ariel Constenla-Haile <[email protected]> > Hi Kayo, > > On Fri, May 25, 2012 at 11:59:48PM -0400, Kayo Hamid wrote: > > Hello, i'm having problems with autosave and want to see around the > > code, where is the implementation? > > > > ooo/trunk/main/framework/qa/complex/framework/autosave ? > > Everything in $MODULE/qa is just QA test. > > Are you looking for the code related to "Tools" - "Options..." > - "Load/Save" - "Always create backup copy" or "Save AutoRecovery > information every..."? These are to related, though different things. > > The easiest I can imagine is: > - build sfx2 and framework with debugging symbols > - open a Writer document > - attach the debugger > - set a break point on SfxObjectShell::SaveTo_Impl > > (gdb) break SfxObjectShell::SaveTo_Impl > Breakpoint 1 at 0x7fbe9f3f2c0f: file > /build/aoo/trunk/main/sfx2/source/doc/objstor.cxx, line 1142. > (gdb) c > Continuing. > > > modify the document, and when it tries to autosave itself, you'll get: > > > Breakpoint 1, SfxObjectShell::SaveTo_Impl (this=0x2a52b08, rMedium=..., > pSet=0x0) at /build/aoo/trunk/main/sfx2/source/doc/objstor.cxx:1142 > 1142 RTL_LOGFILE_PRODUCT_CONTEXT( aLog, "PERFORMANCE > SfxObjectShell::SaveTo_Impl" ); > (gdb) bt > #0 SfxObjectShell::SaveTo_Impl (this=0x2a52b08, rMedium=..., pSet=0x0) at > /build/aoo/trunk/main/sfx2/source/doc/objstor.cxx:1142 > #1 0x00007fbe9f3fc087 in SfxObjectShell::PreDoSaveAs_Impl > (this=0x2a52b08, rFileName=..., aFilterName=..., pParams=0x32f06d8) > at /build/aoo/trunk/main/sfx2/source/doc/objstor.cxx:2967 > #2 0x00007fbe9f3fb633 in SfxObjectShell::CommonSaveAs_Impl > (this=0x2a52b08, aURL=..., aFilterName=..., aParams=0x33323a8) > at /build/aoo/trunk/main/sfx2/source/doc/objstor.cxx:2821 > #3 0x00007fbe9f3e6587 in SfxObjectShell::APISaveAs_Impl (this=0x2a52b08, > aFileName=..., aParams=0x33323a8) > at /build/aoo/trunk/main/sfx2/source/doc/objserv.cxx:339 > #4 0x00007fbe9f437409 in SfxBaseModel::impl_store (this=0x2880cc0, > sURL=..., seqArguments=..., bSaveTo=1 '\001') > at /build/aoo/trunk/main/sfx2/source/doc/sfxbasemodel.cxx:2910 > #5 0x00007fbe9f430ed7 in SfxBaseModel::storeToRecoveryFile > (this=0x2880cc0, i_TargetLocation=..., i_MediaDescriptor=...) > at /build/aoo/trunk/main/sfx2/source/doc/sfxbasemodel.cxx:1759 > #6 0x00007fbe8c3d309b in framework::AutoRecovery::implts_saveOneDoc > (this=0x2074320, sBackupPath=..., rInfo=..., xExternalProgress=...) > at /build/aoo/trunk/main/framework/source/services/autorecovery.cxx:2449 > #7 0x00007fbe8c3d28d4 in framework::AutoRecovery::implts_saveDocs > (this=0x2074320, bAllowUserIdleLoop=1 '\001', bRemoveLockFiles=0 '\000', > pParams=0x0) > at /build/aoo/trunk/main/framework/source/services/autorecovery.cxx:2364 > #8 0x00007fbe8c3d0004 in framework::AutoRecovery::implts_timerExpired > (this=0x2074320) at > /build/aoo/trunk/main/framework/source/services/autorecovery.cxx:1683 > #9 0x00007fbe8c3cfe13 in > framework::AutoRecovery::LinkStubimplts_timerExpired (pThis=0x2074320, > pCaller=0x2074448) > at /build/aoo/trunk/main/framework/source/services/autorecovery.cxx:1618 > #10 0x00007fbe9caee978 in Link::Call (this=0x2074468, pCaller=0x2074448) > at /build/aoo/trunk/main/solver/340/unxlngx6/inc/tools/link.hxx:135 > #11 0x00007fbe9cb0700d in Timer::Timeout (this=0x2074448) at > /build/aoo/trunk/main/vcl/source/app/timer.cxx:253 > #12 0x00007fbe9cb06c76 in Timer::ImplTimerCallbackProc () at > /build/aoo/trunk/main/vcl/source/app/timer.cxx:141 > #13 0x00007fbe918cc613 in SalTimer::CallCallback (this=0x1fe25f8) at > /build/aoo/trunk/main/vcl/inc/saltimer.hxx:61 > #14 0x00007fbe918cc3a6 in X11SalData::Timeout (this=0x12bafa8) at > /build/aoo/trunk/main/vcl/unx/generic/app/saltimer.cxx:45 > #15 0x00007fbe91c2dd80 in GtkXLib::timeoutFn (data=0x12bed68) at > /build/aoo/trunk/main/vcl/unx/gtk/app/gtkdata.cxx:745 > #16 0x00007fbe91c2dcd4 in call_timeoutFn (data=0x12bed68) at > /build/aoo/trunk/main/vcl/unx/gtk/app/gtkdata.cxx:725 > #17 0x0000003157e4672b in ?? () from /lib64/libglib-2.0.so.0 > #18 0x0000003157e44f3d in g_main_context_dispatch () from > /lib64/libglib-2.0.so.0 > #19 0x0000003157e45738 in ?? () from /lib64/libglib-2.0.so.0 > #20 0x0000003157e4590c in g_main_context_iteration () from > /lib64/libglib-2.0.so.0 > #21 0x00007fbe91c2e202 in GtkXLib::Yield (this=0x12bed68, bWait=true, > bHandleAllCurrentEvents=false) at > /build/aoo/trunk/main/vcl/unx/gtk/app/gtkdata.cxx:874 > #22 0x00007fbe918c924f in X11SalInstance::Yield (this=0x12bae78, > bWait=true, bHandleAllCurrentEvents=false) > at /build/aoo/trunk/main/vcl/unx/generic/app/salinst.cxx:278 > #23 0x00007fbe9caff637 in ImplYield (i_bWait=true, i_bAllEvents=false) at > /build/aoo/trunk/main/vcl/source/app/svapp.cxx:472 > #24 0x00007fbe9cafb7ed in Application::Yield (i_bAllEvents=false) at > /build/aoo/trunk/main/vcl/source/app/svapp.cxx:506 > #25 0x00007fbe9cafb789 in Application::Execute () at > /build/aoo/trunk/main/vcl/source/app/svapp.cxx:449 > #26 0x00007fbea0a2b44d in desktop::Desktop::Main (this=0x7fff3c37b550) at > /build/aoo/trunk/main/desktop/source/app/app.cxx:2159 > #27 0x00007fbe9cb0501e in ImplSVMain () at > /build/aoo/trunk/main/vcl/source/app/svmain.cxx:193 > #28 0x00007fbe9cb05163 in SVMain () at > /build/aoo/trunk/main/vcl/source/app/svmain.cxx:230 > #29 0x00007fbea0a5f7ff in soffice_main () at > /build/aoo/trunk/main/desktop/source/app/sofficemain.cxx:45 > #30 0x00000000004011f4 in sal_main () at main.c:31 > #31 0x00000000004011d9 in main (argc=1, argv=0x7fff3c37b708) at main.c:30 > (gdb) > > This is a good starting point to investigate. > > Regards > -- > Ariel Constenla-Haile > La Plata, Argentina >
Thanks! I will catch the fish now ;-) -- Kayo Hamid (Em casa, usando meu tempo livre para fazer o que gosto) (In home using my free time to do what I like)
