From 4d949e7ff45ef5947843476d60a2bca4cf95d29a Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Wed, 10 Jun 2009 04:04:09 +0000 Subject: [PATCH] fixing border drawing for toplevel controls on dialogs, fixes #10877 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/osx/carbon/nonownedwnd.cpp | 10 ++++++++-- src/osx/nonownedwnd_osx.cpp | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/osx/carbon/nonownedwnd.cpp b/src/osx/carbon/nonownedwnd.cpp index 179f6b4997..cbacef0512 100644 --- a/src/osx/carbon/nonownedwnd.cpp +++ b/src/osx/carbon/nonownedwnd.cpp @@ -99,12 +99,18 @@ bool wxNonOwnedWindowCarbonImpl::SetBackgroundColour(const wxColour& col ) if ( col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDocumentWindowBackground)) ) { SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDocumentWindowBackground, false ) ; - SetBackgroundStyle(wxBG_STYLE_SYSTEM); + m_wxPeer->SetBackgroundStyle(wxBG_STYLE_SYSTEM); + // call directly if object is not yet completely constructed + if ( m_wxPeer->GetNonOwnedPeer() == NULL ) + SetBackgroundStyle(wxBG_STYLE_SYSTEM); } else if ( col == wxColour(wxMacCreateCGColorFromHITheme(kThemeBrushDialogBackgroundActive)) ) { SetThemeWindowBackground( (WindowRef) m_macWindow, kThemeBrushDialogBackgroundActive, false ) ; - SetBackgroundStyle(wxBG_STYLE_SYSTEM); + m_wxPeer->SetBackgroundStyle(wxBG_STYLE_SYSTEM); + // call directly if object is not yet completely constructed + if ( m_wxPeer->GetNonOwnedPeer() == NULL ) + SetBackgroundStyle(wxBG_STYLE_SYSTEM); } return true; } diff --git a/src/osx/nonownedwnd_osx.cpp b/src/osx/nonownedwnd_osx.cpp index ed53785787..674c4d9968 100644 --- a/src/osx/nonownedwnd_osx.cpp +++ b/src/osx/nonownedwnd_osx.cpp @@ -346,7 +346,7 @@ bool wxNonOwnedWindow::SetBackgroundStyle(wxBackgroundStyle style) if ( !wxWindow::SetBackgroundStyle(style) ) return false ; - return m_nowpeer->SetBackgroundStyle(style); + return m_nowpeer ? m_nowpeer->SetBackgroundStyle(style) : true; } void wxNonOwnedWindow::DoMoveWindow(int x, int y, int width, int height) -- 2.45.2