mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-24 11:41:58 +00:00
devdraw: Shrinking a window on osx 10.6.7 no longer disables drawing.
R=rsc CC=plan9port.codebot http://codereview.appspot.com/4632051
This commit is contained in:
parent
ce8d6f2465
commit
e055ceb20b
1 changed files with 14 additions and 9 deletions
|
@ -524,8 +524,14 @@ eventhandler(EventHandlerCallRef next, EventRef event, void *arg)
|
|||
case kEventWindowClosed:
|
||||
exit(0);
|
||||
|
||||
case kEventWindowBoundsChanged:
|
||||
eresized(0);
|
||||
case kEventWindowBoundsChanged:;
|
||||
// We see kEventWindowDrawContent
|
||||
// if we grow a window but not if we shrink it.
|
||||
UInt32 flags;
|
||||
GetEventParameter(event, kEventParamAttributes,
|
||||
typeUInt32, 0, sizeof flags, 0, &flags);
|
||||
int new = (flags & kWindowBoundsChangeSizeChanged) != 0;
|
||||
eresized(new);
|
||||
break;
|
||||
|
||||
case kEventWindowDrawContent:
|
||||
|
@ -839,13 +845,12 @@ eresized(int new)
|
|||
osx.screenimage = m;
|
||||
osx.screenr = r;
|
||||
|
||||
// I'm not 100% sure why this is necessary
|
||||
// but otherwise some resizes (esp. vertical ones)
|
||||
// stop updating the screen.
|
||||
qlock(&osx.flushlock);
|
||||
QDEndCGContext(GetWindowPort(osx.window), &osx.windowctx);
|
||||
osx.windowctx = nil;
|
||||
qunlock(&osx.flushlock);
|
||||
if(new){
|
||||
qlock(&osx.flushlock);
|
||||
QDEndCGContext(GetWindowPort(osx.window), &osx.windowctx);
|
||||
osx.windowctx = nil;
|
||||
qunlock(&osx.flushlock);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue