John McCabe-Dansted
2011-07-17 10:49:43 UTC
Is it more convenient if I include the patch that caused the
regression in my email, if it is small, as below?
It seems that this code should only be called if the math inset has
actually been modified, but that it is being called constantly, even
on cursor movement outside the math inset.
------------------------------------------------------------------------
r30497 | forenr | 2009-07-12 18:52:28 +0800 (Sun, 12 Jul 2009) | 2 lines
Fix bug #6063: Keylogger lyx::lyxbreaker: Crash in Math.
Index: src/frontends/qt4/GuiCompleter.cpp
===================================================================
--- src/frontends/qt4/GuiCompleter.cpp (revision 30496)
+++ src/frontends/qt4/GuiCompleter.cpp (revision 30497)
@@ -313,6 +313,11 @@
if (!inlineVisible() && possibleInlineState && start
&& cur.inset().automaticInlineCompletion())
inline_timer_.start(int(lyxrc.completion_inline_delay * 1000));
+ else {
+ // no inline completion, hence a metrics update is needed
+ if (!(cur.disp_.update() & Update::Force))
+ cur.updateFlags(cur.disp_.update() | Update::SinglePar);
+ }
// update prefix if any completion is possible
bool modelActive = modelActive_ && model()->rowCount() > 0;
regression in my email, if it is small, as below?
It seems that this code should only be called if the math inset has
actually been modified, but that it is being called constantly, even
on cursor movement outside the math inset.
------------------------------------------------------------------------
r30497 | forenr | 2009-07-12 18:52:28 +0800 (Sun, 12 Jul 2009) | 2 lines
Fix bug #6063: Keylogger lyx::lyxbreaker: Crash in Math.
Index: src/frontends/qt4/GuiCompleter.cpp
===================================================================
--- src/frontends/qt4/GuiCompleter.cpp (revision 30496)
+++ src/frontends/qt4/GuiCompleter.cpp (revision 30497)
@@ -313,6 +313,11 @@
if (!inlineVisible() && possibleInlineState && start
&& cur.inset().automaticInlineCompletion())
inline_timer_.start(int(lyxrc.completion_inline_delay * 1000));
+ else {
+ // no inline completion, hence a metrics update is needed
+ if (!(cur.disp_.update() & Update::Force))
+ cur.updateFlags(cur.disp_.update() | Update::SinglePar);
+ }
// update prefix if any completion is possible
bool modelActive = modelActive_ && model()->rowCount() > 0;
--
John C. McCabe-Dansted
John C. McCabe-Dansted