diff options
| author | Oz Linden <oz@lindenlab.com> | 2015-01-13 13:46:45 -0500 | 
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2015-01-13 13:46:45 -0500 | 
| commit | 6f3cf79a3afa66db229a1c1068e0c01f246f0b79 (patch) | |
| tree | 5eb6e710adc6a0c770f681fabb44fd385dbef977 /indra/llwindow | |
| parent | ccd10beb6f8523c401b08d57e916c85d756eb27e (diff) | |
| parent | fad02b30ce61a38007c5cd450cbdd2e09464888d (diff) | |
merge changes for 3.7.24-release
Diffstat (limited to 'indra/llwindow')
| -rw-r--r-- | indra/llwindow/llopenglview-objc.mm | 25 | ||||
| -rwxr-xr-x | indra/llwindow/llwindowmacosx-objc.h | 2 | ||||
| -rwxr-xr-x | indra/llwindow/llwindowmacosx.cpp | 16 | 
3 files changed, 42 insertions, 1 deletions
| diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm index 773c093e2f..959dbc1040 100644 --- a/indra/llwindow/llopenglview-objc.mm +++ b/indra/llwindow/llopenglview-objc.mm @@ -124,6 +124,14 @@ attributedStringInfo getSegments(NSAttributedString *str)  {  	[[NSNotificationCenter defaultCenter] addObserver:self  											 selector:@selector(windowResized:) name:NSWindowDidResizeNotification +											   object:[self window]];     +  +    [[NSNotificationCenter defaultCenter] addObserver:self +											 selector:@selector(windowWillMiniaturize:) name:NSWindowWillMiniaturizeNotification +											   object:[self window]]; +     +    [[NSNotificationCenter defaultCenter] addObserver:self +											 selector:@selector(windowDidDeminiaturize:) name:NSWindowDidDeminiaturizeNotification  											   object:[self window]];  } @@ -141,6 +149,16 @@ attributedStringInfo getSegments(NSAttributedString *str)      }  } +- (void)windowWillMiniaturize:(NSNotification *)notification; +{ +    callWindowHide(); +} + +- (void)windowDidDeminiaturize:(NSNotification *)notification; +{ +    callWindowUnhide(); +} +  - (void)dealloc  {  	[[NSNotificationCenter defaultCenter] removeObserver:self]; @@ -349,9 +367,14 @@ attributedStringInfo getSegments(NSAttributedString *str)  	callMiddleMouseUp(mMousePos, [theEvent modifierFlags]);  } +- (void) rightMouseDragged:(NSEvent *)theEvent +{ +	[self mouseDragged:theEvent]; +} +  - (void) otherMouseDragged:(NSEvent *)theEvent  { -	 +	[self mouseDragged:theEvent];          }  - (void) scrollWheel:(NSEvent *)theEvent diff --git a/indra/llwindow/llwindowmacosx-objc.h b/indra/llwindow/llwindowmacosx-objc.h index d64525fbdd..f02052ca6a 100755 --- a/indra/llwindow/llwindowmacosx-objc.h +++ b/indra/llwindow/llwindowmacosx-objc.h @@ -116,6 +116,8 @@ void callScrollMoved(float delta);  void callMouseExit();  void callWindowFocus();  void callWindowUnfocus(); +void callWindowHide(); +void callWindowUnhide();  void callDeltaUpdate(float *delta, unsigned int mask);  void callMiddleMouseDown(float *pos, unsigned int mask);  void callMiddleMouseUp(float *pos, unsigned int mask); diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index e50999dc36..b2f1d618ef 100755 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -346,6 +346,22 @@ void callWindowUnfocus()  	gWindowImplementation->getCallbacks()->handleFocusLost(gWindowImplementation);  } +void callWindowHide() +{	 +	if ( gWindowImplementation && gWindowImplementation->getCallbacks() ) +	{ +		gWindowImplementation->getCallbacks()->handleActivate(gWindowImplementation, false); +	} +} + +void callWindowUnhide() +{	 +	if ( gWindowImplementation && gWindowImplementation->getCallbacks() ) +	{ +		gWindowImplementation->getCallbacks()->handleActivate(gWindowImplementation, true); +	} +} +  void callDeltaUpdate(float *delta, MASK mask)  {  	gWindowImplementation->updateMouseDeltas(delta); | 
