X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXView.C;h=af59c62277e4c5dbd672e130329eaae8b8dc7fff;hb=fe4e2a84c664ab13a2cfbfcbdb953d72c77eb268;hp=8b9b7a81f5f490fe8b8b57732d7fa0233a7fab3c;hpb=3df345c9383480f68fad51feae8b9c64425c8729;p=lyx.git diff --git a/src/LyXView.C b/src/LyXView.C index 8b9b7a81f5..af59c62277 100644 --- a/src/LyXView.C +++ b/src/LyXView.C @@ -39,7 +39,7 @@ using std::endl; extern FD_form_document * fd_form_document; -extern void AutoSave(); +extern void AutoSave(BufferView *); extern char updatetimer; extern void QuitLyX(); LyXTextClass::size_type current_layout = 0; @@ -159,17 +159,19 @@ extern "C" void C_LyXView_UpdateTimerCB(FL_OBJECT * ob, long data) // Callback for autosave timer -void LyXView::AutosaveTimerCB(FL_OBJECT *, long) +void LyXView::AutoSave() { lyxerr[Debug::INFO] << "Running AutoSave()" << endl; - AutoSave(); + if (view()->available()) + ::AutoSave(view()); } // Wrapper for the above -extern "C" void C_LyXView_AutosaveTimerCB(FL_OBJECT * ob, long data) +extern "C" void C_LyXView_AutosaveTimerCB(FL_OBJECT * ob, long) { - LyXView::AutosaveTimerCB(ob, data); + LyXView * view = static_cast(ob->u_vdata); + view->AutoSave(); } @@ -274,6 +276,7 @@ void LyXView::create_form_form_main(int width, int height) // timer_autosave fdui->timer_autosave = obj = fl_add_timer(FL_HIDDEN_TIMER, 0, 0, 0, 0, "Timer"); + obj->u_vdata = this; fl_set_object_callback(obj, C_LyXView_AutosaveTimerCB, 0); // timer_update