diff options
author | Monroe Linden <monroe@lindenlab.com> | 2009-12-01 18:27:09 -0800 |
---|---|---|
committer | Monroe Linden <monroe@lindenlab.com> | 2009-12-01 18:27:09 -0800 |
commit | 1db0d32133f97b03a632f03fa78e198b7f00866b (patch) | |
tree | f24b2b5c7a9560178216a71f9e2d673f90cc361d /indra/media_plugins/webkit | |
parent | 96fa076a05b53d9bf8b488b2d213d4d528120a26 (diff) |
Partial fix for EXT-2904/DEV-43584 (Space bar and Enter/Return key don't work as input for checkboxes or buttons on MoaP).
This change forces space characters to go through the keyEvent() path instead of the unicodeInput() path, which makes the space bar work for setting checkboxes. I still need to figure out what's going on with the enter key.
Diffstat (limited to 'indra/media_plugins/webkit')
-rw-r--r-- | indra/media_plugins/webkit/media_plugin_webkit.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp index 30c7483229..25f4c8720a 100644 --- a/indra/media_plugins/webkit/media_plugin_webkit.cpp +++ b/indra/media_plugins/webkit/media_plugin_webkit.cpp @@ -497,7 +497,16 @@ private: { // std::cerr << "unicode input, code = 0x" << std::hex << (unsigned long)(wstr[i]) << std::dec << std::endl; - LLQtWebKit::getInstance()->unicodeInput(mBrowserWindowId, wstr[i], modifiers); + if(wstr[i] == 32) + { + // For some reason, the webkit plugin really wants the space bar to come in through the key-event path, not the unicode path. + LLQtWebKit::getInstance()->keyEvent( mBrowserWindowId, LLQtWebKit::KE_KEY_DOWN, 32, modifiers); + LLQtWebKit::getInstance()->keyEvent( mBrowserWindowId, LLQtWebKit::KE_KEY_UP, 32, modifiers); + } + else + { + LLQtWebKit::getInstance()->unicodeInput(mBrowserWindowId, wstr[i], modifiers); + } } checkEditState(); |