From 1db0d32133f97b03a632f03fa78e198b7f00866b Mon Sep 17 00:00:00 2001 From: Monroe Linden Date: Tue, 1 Dec 2009 18:27:09 -0800 Subject: 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. --- indra/media_plugins/webkit/media_plugin_webkit.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'indra/media_plugins/webkit/media_plugin_webkit.cpp') 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(); -- cgit v1.2.3