From: James Turner Date: Tue, 4 Oct 2011 08:14:15 +0000 (+0100) Subject: Mac: Work-around for OSG3's Cocoa Viewer interacting badly with PUI X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=1692bc749e01bc5713ec9c05ac8c80887f089434;p=flightgear.git Mac: Work-around for OSG3's Cocoa Viewer interacting badly with PUI --- diff --git a/src/Main/FGEventHandler.cxx b/src/Main/FGEventHandler.cxx index f6fc75c76..950ccfd10 100644 --- a/src/Main/FGEventHandler.cxx +++ b/src/Main/FGEventHandler.cxx @@ -18,6 +18,12 @@ #define X_DOUBLE_SCROLL_BUG 1 #endif +#ifdef SG_MAC +// hack - during interactive resize on Mac, OSG queues and then flushes +// a large number of resize events, without doing any drawing. +extern void puCleanUpJunk ( void ) ; +#endif + namespace flightgear { const int displayStatsKey = 1; @@ -234,6 +240,12 @@ bool FGEventHandler::handle(const osgGA::GUIEventAdapter& ea, CameraGroup::getDefault()->resized(); if (resizable) globals->get_renderer()->resize(ea.getWindowWidth(), ea.getWindowHeight()); + #ifdef SG_MAC + // work around OSG Cocoa-Viewer issue with resize event handling, + // where resize events are queued up, then dispatched in a batch, with + // no interveningd drawing calls. + puCleanUpJunk(); + #endif return true; case osgGA::GUIEventAdapter::CLOSE_WINDOW: case osgGA::GUIEventAdapter::QUIT_APPLICATION: