This is the last piece of nastiness associated with the external inset:

void ControlExternal::editExternal()
{
        lyx::Assert(params_.get());

        dialog().view().apply();
        InsetExternal inset;
        inset.setParams(*params_, kernel().buffer()->filePath());
        inset.cache(kernel().bufferview());
        inset.editExternal();
}

I propose to replace it with a new LFUN:

void ControlExternal::editExternal()
{
        lyx::Assert(params_.get());
        
        // Fills the params variable
        dialog().view().apply();

        string const lfun = InsetExternalMailer::params2string(params());
        kernel().dispatch(FuncRequest(LFUN_EXTERNAL_EDIT, lfun));
}

(which also means I can get rid of that klunky InsetExternal::cache method.)

Ok?

-- 
Angus

Reply via email to