summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMnikolenko ProductEngine <mnikolenko@productengine.com>2019-06-20 15:41:27 +0300
committerMnikolenko ProductEngine <mnikolenko@productengine.com>2019-06-20 15:41:27 +0300
commitb813814202d0c3c011df9f514b73afe7b1758b3c (patch)
tree8a9865746b3bd30ca61774489d894f188a0d7148
parent16437e771b0cd420e46d723117bb3b9c8cdd618b (diff)
SL-11432 FIXED [OSX] Avatar is spinning when pressing Alt+D+Command and then releasing D key
-rw-r--r--indra/llwindow/llappdelegate-objc.h3
-rw-r--r--indra/llwindow/llopenglview-objc.mm9
-rw-r--r--indra/newview/CMakeLists.txt2
-rw-r--r--indra/newview/llappdelegate-objc.mm13
4 files changed, 17 insertions, 10 deletions
diff --git a/indra/llwindow/llappdelegate-objc.h b/indra/llwindow/llappdelegate-objc.h
index 6daf1ac55b..0b38647b4a 100644
--- a/indra/llwindow/llappdelegate-objc.h
+++ b/indra/llwindow/llappdelegate-objc.h
@@ -46,3 +46,6 @@
- (void) languageUpdated;
- (bool) romanScript;
@end
+
+@interface LLApplication : NSApplication
+@end
diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm
index 33eed7227a..1990499459 100644
--- a/indra/llwindow/llopenglview-objc.mm
+++ b/indra/llwindow/llopenglview-objc.mm
@@ -509,15 +509,6 @@ attributedStringInfo getSegments(NSAttributedString *str)
{
[[self inputContext] handleEvent:theEvent];
}
-
- // OS X intentionally does not send us key-up information on cmd-key combinations.
- // This behaviour is not a bug, and only applies to cmd-combinations (no others).
- // Since SL assumes we receive those, we fake it here.
- if (mModifiers & NSCommandKeyMask && !mHasMarkedText)
- {
- eventData.mKeyEvent = NativeKeyEventData::KEYUP;
- callKeyUp(&eventData, [theEvent keyCode], mModifiers);
- }
}
- (void)flagsChanged:(NSEvent *)theEvent
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 46fd0f3fd1..b8789da66b 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -2117,7 +2117,7 @@ if (DARWIN)
set(MACOSX_BUNDLE_BUNDLE_VERSION "${VIEWER_SHORT_VERSION}${VIEWER_MACOSX_PHASE}${VIEWER_REVISION}")
set(MACOSX_BUNDLE_COPYRIGHT "Copyright © Linden Research, Inc. 2018")
set(MACOSX_BUNDLE_NSMAIN_NIB_FILE "SecondLife.nib")
- set(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "NSApplication")
+ set(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "LLApplication")
# https://blog.kitware.com/upcoming-in-cmake-2-8-12-osx-rpath-support/
set(CMAKE_MACOSX_RPATH 1)
diff --git a/indra/newview/llappdelegate-objc.mm b/indra/newview/llappdelegate-objc.mm
index 1d55537427..47fde299c7 100644
--- a/indra/newview/llappdelegate-objc.mm
+++ b/indra/newview/llappdelegate-objc.mm
@@ -342,3 +342,16 @@ struct AttachmentInfo
#endif // LL_BUGSPLAT
@end
+
+@implementation LLApplication
+
+- (void)sendEvent:(NSEvent *)event
+{
+ [super sendEvent:event];
+ if ([event type] == NSKeyUp && ([event modifierFlags] & NSCommandKeyMask))
+ {
+ [[self keyWindow] sendEvent:event];
+ }
+}
+
+@end