]> git.lyx.org Git - lyx.git/blobdiff - src/kbsequence.C
Fix event loop to no longer eat CPU
[lyx.git] / src / kbsequence.C
index 7a3b0b6edc7584ae89fb122d8f3d2a90d00066de..0d701cdb28ea982ad740bf828fecd98f9f4d7287 100644 (file)
 
 #include <config.h>
 
-#include "gettext.h"
-
-#include "frontends/LyXKeySymFactory.h"
 #include "kbsequence.h"
+
+#include "gettext.h"
 #include "kbmap.h"
 #include "lfuns.h"
 
+#include "frontends/LyXKeySym.h"
+#include "frontends/LyXKeySymFactory.h"
+
 using std::make_pair;
+using std::string;
 
 
-int kb_sequence::addkey(LyXKeySymPtr key,
-                       key_modifier::state mod, key_modifier::state nmod)
+FuncRequest const &
+kb_sequence::addkey(LyXKeySymPtr key,
+                   key_modifier::state mod, key_modifier::state nmod)
 {
        // adding a key to a deleted sequence
        // starts a new sequence
@@ -40,7 +44,8 @@ int kb_sequence::addkey(LyXKeySymPtr key,
                return curmap->lookup(key, mod, this);
        }
 
-       return LFUN_UNKNOWN_ACTION;
+       static FuncRequest unknown(LFUN_UNKNOWN_ACTION);
+       return unknown;
 }
 
 
@@ -132,7 +137,7 @@ string const kb_sequence::print() const
        KeySequence::size_type i, length = sequence.size();
 
        for (i = 0; i < length; ++i) {
-               buf += kb_keymap::printKeysym(sequence[i], modifiers[i].first);
+               buf += sequence[i]->print(modifiers[i].first);
 
                // append a blank
                if (i + 1 < length) {