summaryrefslogtreecommitdiff
path: root/indra/llplugin/slplugin/slplugin.cpp
diff options
context:
space:
mode:
authorYuri Chebotarev <ychebotarev@productengine.com>2010-06-29 18:56:57 +0300
committerYuri Chebotarev <ychebotarev@productengine.com>2010-06-29 18:56:57 +0300
commitd3d2e0be292056ff335ae7a0caf7a6407ef074ca (patch)
tree50c227be0cd19c7cedba7360bb4950304a306d01 /indra/llplugin/slplugin/slplugin.cpp
parent05222b7a32c6e3406f1bae90664181d3699a10e8 (diff)
parentf308109fe6a96d1cb40185a4fe4f16d8e82d814a (diff)
merge
--HG-- branch : product-engine
Diffstat (limited to 'indra/llplugin/slplugin/slplugin.cpp')
-rw-r--r--indra/llplugin/slplugin/slplugin.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/indra/llplugin/slplugin/slplugin.cpp b/indra/llplugin/slplugin/slplugin.cpp
index 7d6dde1a58..4c955e875a 100644
--- a/indra/llplugin/slplugin/slplugin.cpp
+++ b/indra/llplugin/slplugin/slplugin.cpp
@@ -44,6 +44,7 @@
#if LL_DARWIN
#include <Carbon/Carbon.h>
+ #include "slplugin-objc.h"
#endif
#if LL_DARWIN || LL_LINUX
@@ -229,10 +230,19 @@ int main(int argc, char **argv)
signal(SIGSYS, &crash_handler); // non-existent system call invoked
#endif
+#if LL_DARWIN
+ setupCocoa();
+ createAutoReleasePool();
+#endif
+
LLPluginProcessChild *plugin = new LLPluginProcessChild();
plugin->init(port);
+#if LL_DARWIN
+ deleteAutoReleasePool();
+#endif
+
LLTimer timer;
timer.start();
@@ -260,6 +270,9 @@ int main(int argc, char **argv)
#endif
while(!plugin->isDone())
{
+#if LL_DARWIN
+ createAutoReleasePool();
+#endif
timer.reset();
plugin->idle();
#if LL_DARWIN
@@ -377,6 +390,10 @@ int main(int argc, char **argv)
// exception handler such as QuickTime.
//checkExceptionHandler();
#endif
+
+#if LL_DARWIN
+ deleteAutoReleasePool();
+#endif
}
delete plugin;