From 40e20c647d530893eb26932c84bf185f0af8798c Mon Sep 17 00:00:00 2001 From: Nicky Date: Fri, 19 Feb 2016 14:12:00 +0100 Subject: [PATCH 1/6] FIRE-17816; Updated Linux keyboard handling. --- autobuild.xml | 4 +- indra/media_plugins/cef/media_plugin_cef.cpp | 50 ++++---------------- package_override_gcc.ini | 2 +- 3 files changed, 13 insertions(+), 43 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 434c838336..a651bb00b6 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -1753,11 +1753,11 @@ archive hash - cb4f8508b0212056c7a67967d668467f + d9a86fe36bada5011c25919715ed83ae hash_algorithm md5 url - http://downloads.phoenixviewer.com/llceflib-1.0-linux-201602081446-r54.tar.bz2 + http://downloads.phoenixviewer.com/llceflib-1.0-linux-201602180356-r57.tar.bz2 name linux diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index 78ec35a8c2..f0e66443ac 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -869,9 +869,9 @@ void MediaPluginCEF::deserializeKeyboardData(LLSD native_key_data, uint32_t& nat #endif #if LL_LINUX - native_scan_code = (uint32_t)(native_key_data["scan_code"].asInteger()); - native_virtual_key = (uint32_t)(native_key_data["virtual_key"].asInteger()); - native_modifiers = (uint32_t)(native_key_data["cef_modifiers"].asInteger()); + native_scan_code = (uint32_t)(native_key_data["sdl_sym"].asInteger()); + native_virtual_key = (uint32_t)(native_key_data["virtual_key"].asInteger()); + native_modifiers = (uint32_t)(native_key_data["cef_modifiers"].asInteger()); #endif }; }; @@ -907,39 +907,14 @@ void MediaPluginCEF::keyEvent(LLCEFLib::EKeyEvent key_event, int key, LLCEFLib:: mLLCEFLib->nativeKeyboardEvent(msg, wparam, lparam); #endif -// Keyboard handling for Linux, code written by Henri Beauchamp +// Keyboard handling for Linux. #if LL_LINUX - // The incoming values for 'key' will be the ones from indra_constants.h - std::string utf8_text; - - if (key < 128) - { - // Low-ascii characters need to get passed through. - utf8_text = (char)key; - } - - // Any special-case handling we want to do for particular keys... - switch ((KEY)key) - { - // ASCII codes for some standard keys - case KEY_BACKSPACE:utf8_text = (char)8;break; - case KEY_TAB:utf8_text = (char)9;break; - case KEY_RETURN:utf8_text = (char)13;break; - case KEY_PAD_RETURN:utf8_text = (char)13;break; - case KEY_ESCAPE:utf8_text = (char)27;break; - - default: - break; - } - uint32_t native_scan_code = 0; uint32_t native_virtual_key = 0; uint32_t native_modifiers = 0; - deserializeKeyboardData(native_key_data, native_scan_code, - native_virtual_key, native_modifiers); - mLLCEFLib->keyboardEvent(key_event, (uint32_t)key, utf8_text.c_str(), - modifiers_x, native_scan_code, native_virtual_key, - native_modifiers); + deserializeKeyboardData(native_key_data, native_scan_code, native_virtual_key, native_modifiers); + + mLLCEFLib->nativeKeyboardEvent(key_event, native_scan_code, native_virtual_key, native_modifiers); #endif // } @@ -966,20 +941,15 @@ void MediaPluginCEF::unicodeInput(const std::string &utf8str, LLCEFLib::EKeyboar mLLCEFLib->nativeKeyboardEvent(msg, wparam, lparam); #endif -// Keyboard handling for Linux, code written by Henri Beauchamp +// Keyboard handling for Linux. #if LL_LINUX - uint32_t key = KEY_NONE; - - if (utf8str.size() == 1) - key = utf8str[0]; - uint32_t native_scan_code = 0; uint32_t native_virtual_key = 0; uint32_t native_modifiers = 0; deserializeKeyboardData(native_key_data, native_scan_code, native_virtual_key, native_modifiers); - mLLCEFLib->keyboardEvent(LLCEFLib::KE_KEY_DOWN, (uint32_t)key, utf8str.c_str(), modifiers, 0, native_virtual_key, native_modifiers); - mLLCEFLib->keyboardEvent(LLCEFLib::KE_KEY_UP, (uint32_t)key, utf8str.c_str(), modifiers, 0, native_virtual_key, native_modifiers); + mLLCEFLib->nativeKeyboardEvent(LLCEFLib::KE_KEY_DOWN, native_scan_code, native_virtual_key, native_modifiers); + mLLCEFLib->nativeKeyboardEvent(LLCEFLib::KE_KEY_UP, native_scan_code, native_virtual_key, native_modifiers); #endif // }; diff --git a/package_override_gcc.ini b/package_override_gcc.ini index 42b8b3bffb..9daba467ed 100644 --- a/package_override_gcc.ini +++ b/package_override_gcc.ini @@ -104,5 +104,5 @@ linux = http://downloads.phoenixviewer.com/uriparser-0.8.0.1-linux-x64-201502251 linux = [llceflib] -linux = http://downloads.phoenixviewer.com/llceflib-1.0-linux-x64-201602080551-r54.tar.bz2|73b956009a7cdb715050b1173a0a2908 +linux = http://downloads.phoenixviewer.com/llceflib-1.0-linux-x64-201602180255-r57.tar.bz2|4eb86000a408d3a6e8b39b8fb1bc98de From 273b7d3a91de500cf4f99e83c1705a43efa3af3e Mon Sep 17 00:00:00 2001 From: Ansariel Date: Fri, 19 Feb 2016 20:25:04 +0100 Subject: [PATCH 2/6] Remove LTCG linker flag for CEF plugin on Windows - not required --- indra/media_plugins/cef/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index f52080c7c9..b8d77246a3 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -111,7 +111,7 @@ if (WINDOWS) set_target_properties( media_plugin_cef PROPERTIES - LINK_FLAGS "/MANIFEST:NO /SAFESEH:NO /LTCG /NODEFAULTLIB:LIBCMT" + LINK_FLAGS "/MANIFEST:NO /SAFESEH:NO /NODEFAULTLIB:LIBCMT" LINK_FLAGS_DEBUG "/MANIFEST:NO /SAFESEH:NO /NODEFAULTLIB:LIBCMTD" ) endif (WINDOWS) From b457b41dcd384869d0f68611131651b9c61fa474 Mon Sep 17 00:00:00 2001 From: Tonya Souther Date: Fri, 19 Feb 2016 13:56:26 -0600 Subject: [PATCH 3/6] FIRE-17481: Add font for Korean characters on OS X El Capitan. --- indra/newview/fonts/fonts.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/indra/newview/fonts/fonts.xml b/indra/newview/fonts/fonts.xml index e236111455..83e96b7cc5 100644 --- a/indra/newview/fonts/fonts.xml +++ b/indra/newview/fonts/fonts.xml @@ -16,6 +16,9 @@ ヒラギノ角ゴ Pro W3.otf ヒラギノ角ゴ ProN W3.otf AppleSDGothicNeo-Regular.otf + + AppleSDGothicNeo.ttc + AppleGothic.dfont AppleGothic.ttf 华文细黑.ttf From 257c436d1569363065a5f99264f91a1154b593ce Mon Sep 17 00:00:00 2001 From: Tonya Souther Date: Fri, 19 Feb 2016 15:09:39 -0600 Subject: [PATCH 4/6] FIRE-17786: Report CEF library version on OS X 64. --- autobuild.xml | 4 ++-- indra/newview/llappviewer.cpp | 12 ++++-------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index a651bb00b6..784b19cbfa 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -27,9 +27,9 @@ archive hash - 11f68fef2c94128237baf110bf6e4ee6 + ff2b6c4678ec520b4dd95431fc7d6191 url - http://downloads.phoenixviewer.com/slplugin_x86-4.7.6.48584-darwin-201601201757-r2.tar.bz2 + http://downloads.phoenixviewer.com/slplugin_x86-4.7.6.48693-darwin-201602191441-r3.tar.bz2 name windows diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 5b41abec33..e200df9756 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -140,11 +140,9 @@ #include "llleap.h" #include "stringize.h" #include "llcoros.h" -// Turn off library for 64-bit OS X too //#if !LL_LINUX -#if !(LL_DARWIN && defined(ND_BUILD64BIT_ARCH)) #include "cef/llceflib.h" -#endif +//#endif // Third party library includes #include @@ -3990,13 +3988,11 @@ LLSD LLAppViewer::getViewerInfo() const { info["VOICE_VERSION"] = LLTrans::getString("NotConnected"); } -// Check for the symbol being defined, not for an OS //#if !LL_LINUX -#if defined(LLCEFLIB_VERSION) info["LLCEFLIB_VERSION"] = LLCEFLIB_VERSION; -#else - info["LLCEFLIB_VERSION"] = "Undefined"; -#endif +//#else +// info["LLCEFLIB_VERSION"] = "Undefined"; +//#endif #if defined( FS_CEFLIB_VERSION ) && FS_CEFLIB_VERSION >= 6 { From 79494e474e8dd1ae0cfa910b37a3770076e68bc8 Mon Sep 17 00:00:00 2001 From: Nicky Date: Fri, 19 Feb 2016 22:48:46 +0100 Subject: [PATCH 5/6] Windows x64: Check for running firestorm process before starting to modify system start. --- .../installers/windows_x64/CheckProcess.dll | Bin 0 -> 111104 bytes .../installers/windows_x64/firestorm.wxs | 5 +++++ 2 files changed, 5 insertions(+) create mode 100644 indra/newview/installers/windows_x64/CheckProcess.dll diff --git a/indra/newview/installers/windows_x64/CheckProcess.dll b/indra/newview/installers/windows_x64/CheckProcess.dll new file mode 100644 index 0000000000000000000000000000000000000000..055bdf9e52bc90086ad53f75e7f561ddc0bbc509 GIT binary patch literal 111104 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 + @@ -115,8 +116,11 @@ + + + @@ -135,6 +139,7 @@ + Not Installed Not Installed REMOVE From 363dea16509e75a9b7ffc18f4a310befdb947856 Mon Sep 17 00:00:00 2001 From: Nicky Date: Fri, 19 Feb 2016 23:21:55 +0100 Subject: [PATCH 6/6] Windows: Use external manifest. --- indra/newview/fs_viewer_manifest.py | 4 ++-- indra/newview/installers/windows_x64/firestorm.wxs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/indra/newview/fs_viewer_manifest.py b/indra/newview/fs_viewer_manifest.py index ca5a9aac60..a661910398 100644 --- a/indra/newview/fs_viewer_manifest.py +++ b/indra/newview/fs_viewer_manifest.py @@ -167,11 +167,11 @@ class FSViewerManifest: def fs_copy_windows_manifest(self): from shutil import copyfile self.fs_strip_windows_manifest( "%s/slplugin.exe" % self.args['configuration'].lower() ) - # self.fs_strip_windows_manifest( "%s/firestorm-bin.exe" % self.args['configuration'].lower() ) + self.fs_strip_windows_manifest( "%s/firestorm-bin.exe" % self.args['configuration'].lower() ) self.fs_strip_windows_manifest( "%s/llplugin/llceflib_host.exe" % self.args['configuration'].lower() ) if self.prefix(src=os.path.join(os.pardir, '..', 'indra', 'tools', 'manifests'), dst=""): self.path( "compatibility.manifest", "slplugin.exe.manifest" ) - # self.path( "compatibility.manifest", "firestorm-bin.exe.manifest" ) + self.path( "compatibility.manifest", "firestorm-bin.exe.manifest" ) self.end_prefix() if self.prefix(src=os.path.join(os.pardir, '..', 'indra', 'tools', 'manifests'), dst="llplugin"): self.path( "compatibility.manifest", "llceflib_host.exe.manifest" ) diff --git a/indra/newview/installers/windows_x64/firestorm.wxs b/indra/newview/installers/windows_x64/firestorm.wxs index d33fe3439f..2a92c52caf 100644 --- a/indra/newview/installers/windows_x64/firestorm.wxs +++ b/indra/newview/installers/windows_x64/firestorm.wxs @@ -44,6 +44,7 @@ +