diff --git a/src/univ/control.cpp b/src/univ/control.cpp index 8f1fb4a4d1..1baecfc214 100644 --- a/src/univ/control.cpp +++ b/src/univ/control.cpp @@ -76,8 +76,16 @@ bool wxControl::Create(wxWindow *parent, const wxValidator& validator, const wxString& name) { - if ( !wxControlBase::Create(parent, id, pos, size, style, validator, name) ) + // we use wxNO_FULL_REPAINT_ON_RESIZE by default as it results in much + // less flicker and none of the standard controls needs to be entirely + // repainted after resize anyhow + if ( !wxControlBase::Create(parent, id, pos, size, + style | wxNO_FULL_REPAINT_ON_RESIZE, + validator, name) ) + { + // underlying window creation failed? return FALSE; + } return TRUE; } diff --git a/src/univ/winuniv.cpp b/src/univ/winuniv.cpp index b7b018abb0..16eb13ae26 100644 --- a/src/univ/winuniv.cpp +++ b/src/univ/winuniv.cpp @@ -109,12 +109,11 @@ bool wxWindow::Create(wxWindow *parent, long style, const wxString& name) { - // we add wxCLIP_CHILDREN and wxNO_FULL_REPAINT_ON_RESIZE because without - // these styles we can't get rid of flicker on wxMSW + // we add wxCLIP_CHILDREN to get the same ("natural") behaviour under MSW + // as under the other platforms if ( !wxWindowNative::Create(parent, id, pos, size, - style | - wxCLIP_CHILDREN | - wxNO_FULL_REPAINT_ON_RESIZE, name) ) + style | wxCLIP_CHILDREN, + name) ) { return FALSE; }