]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetArgument.cpp
Output a parbreak after a command.
[lyx.git] / src / insets / InsetArgument.cpp
index ca76d08a029a7eeb1636c57f71d5c418fc72eab1..2e4285e7fef5ca48f341717e3080ed0f3420fdf1 100644 (file)
@@ -61,7 +61,7 @@ void InsetArgument::updateBuffer(ParIterator const & it, UpdateType utype)
        pass_thru_ = it.paragraph().layout().pass_thru;
        bool const insetlayout = &it.inset() && args.empty();
        if (insetlayout) {
-               args = it.inset().getLayout().latexargs();
+               args = it.inset().getLayout().args();
                pass_thru_ = it.inset().getLayout().isPassThru();
        }
        
@@ -149,6 +149,25 @@ void InsetArgument::doDispatch(Cursor & cur, FuncRequest & cmd)
                break;
        }
 
+       case LFUN_PASTE:
+       case LFUN_CLIPBOARD_PASTE:
+       case LFUN_SELECTION_PASTE:
+       case LFUN_PRIMARY_SELECTION_PASTE:
+               // Do not call InsetCollapsable::doDispatch(cur, cmd)
+               // with (inherited) pass_thru to avoid call for
+               // fixParagraphsFont(), which does not play nicely with
+               // inherited pass_thru (see #8471).
+               // FIXME: Once we have implemented genuine pass_thru 
+               // option for InsetArgument (not inherited pass_thru),
+               // we should probably directly call
+               // InsetCollapsable::doDispatch(cur, cmd) for that
+               // case as well
+               if (pass_thru_)
+                       text().dispatch(cur, cmd);
+               else
+                       InsetCollapsable::doDispatch(cur, cmd);
+               break;
+
        default:
                InsetCollapsable::doDispatch(cur, cmd);
                break;