X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fdaf613add176525ed8b6cafaf278dfd80f85074..bf188f1add12abe2238d51d0568acc2a386e8051:/src/mac/control.cpp?ds=sidebyside diff --git a/src/mac/control.cpp b/src/mac/control.cpp index 4ffb21ccac..f0714b067a 100644 --- a/src/mac/control.cpp +++ b/src/mac/control.cpp @@ -13,6 +13,8 @@ #pragma implementation "control.h" #endif +#include "wx/defs.h" + #include "wx/control.h" #include "wx/panel.h" #include "wx/app.h" @@ -360,7 +362,15 @@ void wxControl::MacSuperChangedPosition() if ( mac_x != former_mac_x || mac_y != former_mac_y ) { + { + Rect inval = { former_mac_y , former_mac_x , former_mac_y + m_height , former_mac_x + m_width } ; + InvalWindowRect( rootwindow , &inval ) ; + } UMAMoveControl( m_macControl , mac_x + m_macHorizontalBorder , mac_y + m_macVerticalBorder ) ; + { + Rect inval = { mac_y , mac_x , mac_y + m_height , mac_x + m_width } ; + InvalWindowRect( rootwindow , &inval ) ; + } } if ( wxrootwindow->IsKindOf( CLASSINFO( wxDialog ) ) ) { @@ -488,7 +498,15 @@ void wxControl::DoSetSize(int x, int y, if ( mac_x != former_mac_x || mac_y != former_mac_y ) { + { + Rect inval = { former_mac_y , former_mac_x , former_mac_y + m_height , former_mac_x + m_width } ; + InvalWindowRect( macrootwindow, &inval ) ; + } UMAMoveControl( m_macControl , mac_x + m_macHorizontalBorder , mac_y + m_macVerticalBorder ) ; + { + Rect inval = { mac_y , mac_x , mac_y + m_height , mac_x + m_width } ; + InvalWindowRect(macrootwindow, &inval ) ; + } } if ( actualX != former_x || actualY != former_y ) @@ -498,9 +516,10 @@ void wxControl::DoSetSize(int x, int y, MacRepositionScrollBars() ; // To consider -> should the parameters be the effective or the virtual coordinates (AdjustForParent..) - wxMoveEvent event(wxPoint(m_x, m_y), m_windowId); - event.SetEventObject(this); - GetEventHandler()->ProcessEvent(event); + wxPoint point(m_x, m_y); + wxMoveEvent event(point, m_windowId); + event.SetEventObject(this); + GetEventHandler()->ProcessEvent(event); } if ( actualWidth != former_w || actualHeight != former_h ) { @@ -518,9 +537,10 @@ void wxControl::DoSetSize(int x, int y, } MacRepositionScrollBars() ; - wxSizeEvent event(wxSize(m_width, m_height), m_windowId); - event.SetEventObject(this); - GetEventHandler()->ProcessEvent(event); + wxSize size(m_width, m_height); + wxSizeEvent event(size, m_windowId); + event.SetEventObject(this); + GetEventHandler()->ProcessEvent(event); } if ( wxrootwindow->IsKindOf( CLASSINFO( wxDialog ) ) ) {