rem: } else if (!(a & kWindowBoundsChangeUserResize)) {
add: } else if (!(a & (kWindowBoundsChangeUserResize | kWindowBoundsChangeZoom))) {
context: static OSStatus window_evt_handler(EventHandlerCallRef inHandlerCallRef, 				   EventRef inEvent, 				   void *inUserData){  wxFrame *f;    f = (wxFrame*)GET_SAFEREF(inUserData);  switch (GetEventKind(inEvent)) {  case kEventWindowClose:    MrEdQueueClose(f);    break;  case kEventWindowZoom:    MrEdQueueZoom(f);    break;  case kEventWindowBoundsChanging:    if (os_x_post_tiger > 0) {      UInt32 a;            GetEventParameter(inEvent, kEventParamAttributes, typeUInt32, 			NULL, sizeof(a), NULL, &a);      if (a & kWindowBoundsChangeUserDrag) {	/* DragWindow is somehow broken. It seems to confuse the struct	   and content regions, causing current bounds's height to become	   different from the original bound's height. To compensate,	   10.3 seems to ignore the hieght, but 10.4 doesn't. So we	   explicitly request the old size. */	Rect o, n;	GetEventParameter(inEvent, kEventParamPreviousBounds, typeQDRectangle, 			  NULL, sizeof(Rect), NULL, &o);	GetEventParameter(inEvent, kEventParamCurrentBounds, typeQDRectangle, 			  NULL, sizeof(Rect), NULL, &n);	n.bottom = n.top + (o.bottom - o.top);	n.right = n.left + (o.right - o.left);	SetEventParameter(inEvent, kEventParamCurrentBounds, typeQDRectangle, 			  sizeof(Rect), &n);      } else if (!(a & kWindowBoundsChangeUserResize)) {	Rect n, s, c;	WindowRef w;	GetEventParameter(inEvent, kEventParamDirectObject, typeWindowRef,			  NULL, sizeof(WindowRef), NULL, &w);	GetWindowBounds(w, kWindowStructureRgn, &s);	GetWindowBounds(w, kWindowContentRgn, &c);	if (((c.bottom - c.top) == (s.bottom - s.top))	    && ((c.right - c.left) == (s.right - s.left))) {	  /* Struct size == content size? This is when the window	     manager is confused in 10.4. Subtract out the difference	     between the real content and structure regions. */	  int h, w, hdelta, wdelta;	  w = f->Width();	  h = f->Height();	  {	    wxArea *parea;	    wxMargin pam;	    parea = f->PlatformArea();	    pam = parea->Margin();	    wdelta = pam.Offset(wxHorizontal);	    hdelta = pam.Offset(wxVertical);	  }	  GetEventParameter(inEvent, kEventParamCurrentBounds, typeQDRectangle, 			    NULL, sizeof(Rect), NULL, &n);	  n.bottom = n.top + h - hdelta;	  n.right = n.left + w - wdelta;	  SetEventParameter(inEvent, kEventParamCurrentBounds, typeQDRectangle, 			    sizeof(Rect), &n);	}      }    }    break;  }  return noErr;}