Implement improvement upon eswartz' fix to properly handle programmatic window size changes on Mac OS X

Closes: #39
This commit is contained in:
rdb 2015-11-21 17:19:38 +01:00
commit de65c02ef2
2 changed files with 12 additions and 6 deletions

View File

@ -798,16 +798,20 @@ set_properties_now(WindowProperties &properties) {
int height = properties.get_y_size();
if (!_properties.get_fullscreen()) {
_properties.set_size(width, height);
if (_window != nil) {
[_window setContentSize:NSMakeSize(width, height)];
}
[_view setFrameSize:NSMakeSize(width, height)];
if (cocoadisplay_cat.is_debug()) {
cocoadisplay_cat.debug()
<< "Setting size to " << width << ", " << height << "\n";
}
_context_needs_update = true;
// Cocoa doesn't send an event, and the other
// resize-window handlers will do nothing once the properties
// have been changed, so do this now
handle_resize_event();
properties.clear_size();
} else {

View File

@ -45,9 +45,11 @@
- (void) drawRect:(NSRect)dirtyRect {
// Do nothing. We draw from another thread.
if (cocoadisplay_cat.is_spam()) {
cocoadisplay_cat.spam()
<< "drawRect was called.\n";
}
}
- (void) finalize {
_graphicsWindow->handle_close_event();