]> git.lyx.org Git - lyx.git/blobdiff - src/text3.C
fix two crashes related to dEPM. Some crashes remain
[lyx.git] / src / text3.C
index 671f7e6cc4cbbaca2af6d090b701478b01f77533..5f3323a0cd1bde047fb0003de8e1d11b9596b99c 100644 (file)
@@ -192,8 +192,10 @@ bool LyXText::cursorPrevious(LCursor & cur)
 
        int x = cur.x_target();
 
-       setCursorFromCoordinates(cur, x, 0);
-       bool updated = cursorUp(cur);
+       bool updated = setCursorFromCoordinates(cur, x, 0);
+       if (updated)
+               cur.bv().update();
+       updated |= cursorUp(cur);
 
        if (cpar == cur.pit() && cpos == cur.pos()) {
                // we have a row which is taller than the workarea. The
@@ -213,8 +215,10 @@ bool LyXText::cursorNext(LCursor & cur)
        lyx::pit_type cpar = cur.pit();
 
        int x = cur.x_target();
-       setCursorFromCoordinates(cur, x, cur.bv().workHeight() - 1);
-       bool updated = cursorDown(cur);
+       bool updated = setCursorFromCoordinates(cur, x, cur.bv().workHeight() - 1);
+       if (updated)
+               cur.bv().update();
+       updated |= cursorDown(cur);
 
        if (cpar == cur.pit() && cpos == cur.pos()) {
                // we have a row which is taller than the workarea. The
@@ -960,12 +964,10 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
                                cur.insert(new InsetQuotes(c,
                                    bufparams.quotes_language,
                                    InsetQuotes::SingleQ));
-                       else if (arg == "double")
+                       else
                                cur.insert(new InsetQuotes(c,
                                    bufparams.quotes_language,
                                    InsetQuotes::DoubleQ));
-                       else
-                               cur.insert(new InsetQuotes(c, bufparams));
                        cur.posRight();
                }
                else