forked from bartvdbraak/blender
OSX: make sure closing the mainwindow forewards to the quitdialog - todo: check if m_window now public is a problem
This commit is contained in:
parent
99837ea844
commit
1a30e52142
@ -1018,12 +1018,20 @@ void GHOST_SystemCocoa::notifyExternalEventProcessed()
|
||||
//Note: called from NSWindow delegate
|
||||
GHOST_TSuccess GHOST_SystemCocoa::handleWindowEvent(GHOST_TEventType eventType, GHOST_WindowCocoa* window)
|
||||
{
|
||||
NSArray *windowsList;
|
||||
windowsList = [NSApp orderedWindows];
|
||||
if (!validWindow(window)) {
|
||||
return GHOST_kFailure;
|
||||
}
|
||||
switch (eventType) {
|
||||
case GHOST_kEventWindowClose:
|
||||
pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowClose, window) );
|
||||
// make sure index 1 exists and compare window adress
|
||||
if ([windowsList count] > 1 && (window->m_window != [windowsList objectAtIndex:1])) {
|
||||
pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowClose, window) );
|
||||
}
|
||||
else {
|
||||
handleQuitRequest(); // -> quit dialog
|
||||
}
|
||||
break;
|
||||
case GHOST_kEventWindowActivate:
|
||||
m_windowManager->setActiveWindow(window);
|
||||
|
@ -269,6 +269,9 @@ public:
|
||||
GHOST_TSuccess beginFullScreen() const {return GHOST_kFailure;}
|
||||
|
||||
GHOST_TSuccess endFullScreen() const {return GHOST_kFailure;}
|
||||
|
||||
/** The window containing the OpenGL view */
|
||||
CocoaWindow *m_window;
|
||||
|
||||
|
||||
protected:
|
||||
@ -318,8 +321,8 @@ protected:
|
||||
|
||||
virtual GHOST_TSuccess setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2], GHOST_TUns8 mask[16][2], int hotX, int hotY);
|
||||
|
||||
/** The window containing the OpenGL view */
|
||||
CocoaWindow *m_window;
|
||||
// /** The window containing the OpenGL view */
|
||||
// CocoaWindow *m_window;
|
||||
|
||||
/** The openGL view */
|
||||
CocoaOpenGLView *m_openGLView;
|
||||
|
Loading…
Reference in New Issue
Block a user