]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfunc.C
* allow resizing of detached panel
[lyx.git] / src / lyxfunc.C
index dbda91f6c8d513a28b6d636f8e9c8cf4dddacc09..582806ea8bac5b943f73a3fd39018c70c3ad1dcc 100644 (file)
@@ -1712,18 +1712,19 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                }
 
                if (lyx_view_ && view()->buffer()) {
+                       // BufferView::update() updates the ViewMetricsInfo and
+                       // also initializes the position cache for all insets in
+                       // (at least partially) visible top-level paragraphs.
+                       std::pair<bool, bool> needSecondUpdate 
+                               = view()->update(updateFlags);
+
                        // Redraw screen unless explicitly told otherwise.
-                       // This also initializes the position cache for all insets
-                       // in (at least partially) visible top-level paragraphs.
-                       bool needSecondUpdate = false;
-                       if (updateFlags != Update::None)
-                               view()->update(updateFlags);
-                       else
-                               needSecondUpdate = view()->fitCursor();
+                       if (needSecondUpdate.first)
+                               // Buffer::changed() signals that a repaint is needed.
+                               // The frontend (WorkArea) knows which area to repaint
+                               // thanks to the ViewMetricsInfo updated above.
+                               view()->buffer()->changed();
 
-                       if (needSecondUpdate || updateFlags != Update::None) {
-                               view()->buffer()->changed(updateFlags & Update::SinglePar);
-                       }
                        lyx_view_->updateStatusBar();
 
                        // if we executed a mutating lfun, mark the buffer as dirty
@@ -2092,6 +2093,7 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_LOADSESSION:
        case LyXRC::RC_CHKTEX_COMMAND:
        case LyXRC::RC_CONVERTER:
+       case LyXRC::RC_CONVERTER_CACHE_MAXAGE:
        case LyXRC::RC_COPIER:
        case LyXRC::RC_CURSOR_FOLLOWS_SCROLLBAR:
        case LyXRC::RC_CUSTOM_EXPORT_COMMAND:
@@ -2188,6 +2190,7 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_USER_NAME:
        case LyXRC::RC_USETEMPDIR:
        case LyXRC::RC_USE_ALT_LANG:
+       case LyXRC::RC_USE_CONVERTER_CACHE:
        case LyXRC::RC_USE_ESC_CHARS:
        case LyXRC::RC_USE_INP_ENC:
        case LyXRC::RC_USE_PERS_DICT: