]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insettabular.C
(Herbert): strip the extension from the graphics filename when exporting
[lyx.git] / src / insets / insettabular.C
index 74859a96abf7222e1f87a4bb7855e2ee19348d55..b3a9435665f7321f217d0f6a4bfc2e911ac8f4ce 100644 (file)
@@ -530,8 +530,10 @@ void InsetTabular::update(BufferView * bv, LyXFont const & font, bool reinit)
        case INIT:
        case FULL:
        case CELL:
-               if (calculate_dimensions_of_cells(bv, font, false))
+               if (calculate_dimensions_of_cells(bv, font, false)) {
                        need_update = INIT;
+                       resetPos(bv);
+               }
                break;
        case SELECTION:
                need_update = FULL;
@@ -597,8 +599,8 @@ void InsetTabular::insetUnlock(BufferView * bv)
 {
        if (the_locking_inset) {
                the_locking_inset->insetUnlock(bv);
-               the_locking_inset = 0;
                updateLocal(bv, CELL, false);
+               the_locking_inset = 0;
        }
        hideInsetCursor(bv);
        oldcell = -1;
@@ -792,6 +794,7 @@ void InsetTabular::insetButtonPress(BufferView * bv, int x, int y, int button)
        if (button == 3) {
                if ((ocell != actcell) && the_locking_inset) {
                        the_locking_inset->insetUnlock(bv);
+                       updateLocal(bv, CELL, false);
                        the_locking_inset = 0;
                }
                showInsetCursor(bv);
@@ -809,8 +812,8 @@ void InsetTabular::insetButtonPress(BufferView * bv, int x, int y, int button)
                return;
        } else if (the_locking_inset) {
                the_locking_inset->insetUnlock(bv);
-               the_locking_inset = 0;
                updateLocal(bv, CELL, false);
+               the_locking_inset = 0;
        }
        if (button == 2) {
                localDispatch(bv, LFUN_PASTESELECTION, "paragraph");