The attached patch disable Paragraph::getUChar functionality of inversing the paranthesis. I grep'ed for the function and it seems to be used only by math inset's pasting getPlainText mechanism, and indeed it has no effect on regular paranthesis. Please have a look at this very simple patch and apply it if possible. If you're convinced the parenthesis inversion is unnecessary, feel free to remove it altogether. Thanks
Index: Paragraph.cpp =================================================================== --- Paragraph.cpp (revision 18129) +++ Paragraph.cpp (working copy) @@ -1415,10 +1415,14 @@ Paragraph::getUChar(BufferParams const & bparams, pos_type pos) const { value_type c = getChar(pos); - if (!lyxrc.rtl_support) + if (true || !lyxrc.rtl_support) return c; - value_type uc = c; + /* This was previously used to get the paranthesis correctly in + * RtL paragraphs. Now it seems to have no other effect than breaking + * paste in math insets when in RtL mode. + * To revert the change delete the "true ||" above. + * value_type uc = c; switch (c) { case '(': uc = ')'; @@ -1448,7 +1452,7 @@ if (uc != c && getFontSettings(bparams, pos).isRightToLeft()) return uc; else - return c; + return c;*/ }