From fb243a134de240cfafd3eb9db4545d0db5f01638 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 14 Jan 2010 13:47:19 -0800 Subject: devdraw: handle kEventWindowDrawContent makes windows redraw properly when moved between screens when monitors get shuffled around R= CC= http://codereview.appspot.com/189076 --- src/cmd/devdraw/osx-screen-carbon.m | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/cmd') diff --git a/src/cmd/devdraw/osx-screen-carbon.m b/src/cmd/devdraw/osx-screen-carbon.m index 0a791c30..4babbf95 100644 --- a/src/cmd/devdraw/osx-screen-carbon.m +++ b/src/cmd/devdraw/osx-screen-carbon.m @@ -381,6 +381,7 @@ _screeninit(void) const EventTypeSpec cmds[] = { { kEventClassWindow, kEventWindowClosed }, { kEventClassWindow, kEventWindowBoundsChanged }, + { kEventClassWindow, kEventWindowDrawContent }, { kEventClassCommand, kEventCommandProcess }, { kEventClassWindow, kEventWindowActivated }, { kEventClassWindow, kEventWindowDeactivated }, @@ -519,6 +520,13 @@ eventhandler(EventHandlerCallRef next, EventRef event, void *arg) eresized(1); break; + case kEventWindowDrawContent:; + // The update says what rectangle needs drawing, + // but just draw everything. + Rectangle r = Rect(0, 0, Dx(osx.screenr), Dy(osx.screenr)); + _flushmemscreen(r); + break; + case kEventWindowActivated: if(!osx.collapsed) activated(1); -- cgit v1.2.3