summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorGeenz <geenz@geenzo.com>2013-02-26 16:18:42 -0500
committerGeenz <geenz@geenzo.com>2013-02-26 16:18:42 -0500
commit21aa4b9c2494aab408fffa6c21010b6ca0a9a626 (patch)
tree1d2bd3db4e8758c71ff788d086eb6ebbe6ea0cbd /indra
parent9a85a9d6bf4e41fdfb6113af26caf13f5a08c90e (diff)
Setup the quit handler for when the user attempts to close the window. This restores the previous functionality of asking the user if they want to quit.
Diffstat (limited to 'indra')
-rw-r--r--indra/llwindow/llopenglview-objc.mm7
-rw-r--r--indra/llwindow/llwindowmacosx-objc.h1
-rw-r--r--indra/llwindow/llwindowmacosx.cpp8
3 files changed, 14 insertions, 2 deletions
diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm
index e89c9267d5..1d26ca5ca1 100644
--- a/indra/llwindow/llopenglview-objc.mm
+++ b/indra/llwindow/llopenglview-objc.mm
@@ -466,16 +466,19 @@
- (BOOL) becomeFirstResponder
{
- NSLog(@"Window gained focus!");
callFocus();
return true;
}
- (BOOL) resignFirstResponder
{
- NSLog(@"Window lost focus!");
callFocus();
return true;
}
+- (void) close
+{
+ callQuitHandler();
+}
+
@end
diff --git a/indra/llwindow/llwindowmacosx-objc.h b/indra/llwindow/llwindowmacosx-objc.h
index a0eab61e7c..6793666927 100644
--- a/indra/llwindow/llwindowmacosx-objc.h
+++ b/indra/llwindow/llwindowmacosx-objc.h
@@ -96,6 +96,7 @@ void callMiddleMouseUp(float *pos, unsigned int mask);
void callFocus();
void callFocusLost();
void callModifier(unsigned int mask);
+void callQuitHandler();
#include <string>
void callHandleDragEntered(std::string url);
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index ac0fa54a68..24f73c5631 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -362,6 +362,14 @@ void callHandleDragDropped(std::string url)
gWindowImplementation->handleDragNDrop(url, LLWindowCallbacks::DNDA_DROPPED);
}
+void callQuitHandler()
+{
+ if(gWindowImplementation->getCallbacks()->handleCloseRequest(gWindowImplementation))
+ {
+ gWindowImplementation->getCallbacks()->handleQuit(gWindowImplementation);
+ }
+}
+
void LLWindowMacOSX::updateMouseDeltas(float* deltas)
{
if (mCursorDecoupled)