summaryrefslogtreecommitdiff
path: root/indra/llwindow/llwindowmacosx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llwindow/llwindowmacosx.cpp')
-rw-r--r--indra/llwindow/llwindowmacosx.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index ce2f3cf9e2..c0cc6596a2 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -166,6 +166,7 @@ LLWindowMacOSX::LLWindowMacOSX(LLWindowCallbacks* callbacks,
// Route them to a dummy callback structure until the end of constructor.
LLWindowCallbacks null_callbacks;
mCallbacks = &null_callbacks;
+ mIsConstructing = true;
// Voodoo for calling cocoa from carbon (see llwindowmacosx-objc.mm).
setupCocoa();
@@ -239,9 +240,8 @@ LLWindowMacOSX::LLWindowMacOSX(LLWindowCallbacks* callbacks,
setUseMultGL(sUseMultGL);
mCallbacks = callbacks;
+ mIsConstructing = false;
stop_glerror();
-
-
}
// These functions are used as wrappers for our internal event handling callbacks.
@@ -415,6 +415,14 @@ void callResize(unsigned int width, unsigned int height)
}
}
+void callRequestResolutionUpdate()
+{
+ if (gWindowImplementation && gWindowImplementation->getCallbacks())
+ {
+ gWindowImplementation->getCallbacks()->handleRequestResolutionUpdate(gWindowImplementation);
+ }
+}
+
void callMouseMoved(float *pos, MASK mask)
{
if (!gWindowImplementation)
@@ -708,6 +716,11 @@ void getPreeditLocation(float *location, unsigned int length)
}
}
+bool windowCallbacksReady()
+{
+ return gWindowImplementation && !gWindowImplementation->isConstructing();
+}
+
void LLWindowMacOSX::updateMouseDeltas(float* deltas)
{
if (mCursorDecoupled)