我有一个OpenGL MacOS游戏,我的MacOS是10.13.4和所有最近的更新。
当游戏切换到->全屏窗口时,一切都很好。
当is开关全屏->窗口时,它将全屏呈现为白色,而在焦点中则是白色,但当它不在焦点时则呈现得很好。
该游戏最初运行良好,无论是在全屏模式还是窗口模式。
这段代码很古老,这不是第一款使用这种代码的游戏,我不记得我在以前的MacOS版本中看到过这个问题。
这是我的代码:
- (void)toggleFullscreen:(const bool)value
{
if (value)
{
if (mFullScreenWindow)
return;
mFullScreenWindow = [[GameFullscreenWindow alloc] init];
NSRect viewRect = [mFullScreenWindow frame];
[mGameView stopDisplayLink:YES];
[mGameView setFrameSize: viewRect.size];
[mFullScreenWindow setContentView:mGameView];
[mFullScreenWindow makeKeyAndOrderFront:self];
RendererGLOSX::SaveDisplaySize(Vec2(viewRect.size.width, viewRect.size.height));
}
else
{
if (mFullScreenWindow == nil)
return;
NSRect viewRect = [mWindow contentRectForFrameRect:[mWindow frame]];
[mGameView stopDisplayLink:YES];
[mGameView setFrame:viewRect];
[mWindow setContentView:mGameView];
[mWindow makeKeyAndOrderFront:self];
[mFullScreenWindow release];
mFullScreenWindow = nil;
RendererGLOSX::SaveDisplaySize(Vec2(viewRect.size.width, viewRect.size.height));
}
[mGameView stopDisplayLink:NO];
}
发布于 2018-04-19 14:19:20
这是mFullScreenWindow
渲染的。
通过在[mFullScreenWindow orderOut: self]
之前添加[mFullScreenWindow release]
解决了这个问题。
https://stackoverflow.com/questions/49851275
复制相似问题