On wxMac don't call Refresh from FullPaint as that is the biggest
cause of the performance problems. Instead call refresh when the AutoComp window is displayed or hidden to ensure that borders, etc. are drawn/erased as needed. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -806,6 +806,14 @@ public:
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
#ifdef __WXMAC__
|
||||
virtual bool Show(bool show = true) {
|
||||
bool rv = wxWindow::Show(show);
|
||||
GetParent()->Refresh(false);
|
||||
return rv;
|
||||
}
|
||||
#endif
|
||||
|
||||
void OnActivate(wxListEvent& WXUNUSED(event)) {
|
||||
doubleClickAction(doubleClickActionData);
|
||||
}
|
||||
|
@@ -636,6 +636,7 @@ long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lPar
|
||||
LexerManager::GetInstance()->Load((const char*)lParam);
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
return ScintillaBase::WndProc(iMessage, wParam, lParam);
|
||||
}
|
||||
@@ -983,7 +984,9 @@ void ScintillaWX::DoDragLeave() {
|
||||
|
||||
// Force the whole window to be repainted
|
||||
void ScintillaWX::FullPaint() {
|
||||
#ifndef __WXMAC__
|
||||
stc->Refresh(false);
|
||||
#endif
|
||||
stc->Update();
|
||||
}
|
||||
|
||||
|
@@ -806,6 +806,14 @@ public:
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
#ifdef __WXMAC__
|
||||
virtual bool Show(bool show = true) {
|
||||
bool rv = wxWindow::Show(show);
|
||||
GetParent()->Refresh(false);
|
||||
return rv;
|
||||
}
|
||||
#endif
|
||||
|
||||
void OnActivate(wxListEvent& WXUNUSED(event)) {
|
||||
doubleClickAction(doubleClickActionData);
|
||||
}
|
||||
|
@@ -636,6 +636,7 @@ long ScintillaWX::WndProc(unsigned int iMessage, unsigned long wParam, long lPar
|
||||
LexerManager::GetInstance()->Load((const char*)lParam);
|
||||
break;
|
||||
#endif
|
||||
|
||||
default:
|
||||
return ScintillaBase::WndProc(iMessage, wParam, lParam);
|
||||
}
|
||||
@@ -983,7 +984,9 @@ void ScintillaWX::DoDragLeave() {
|
||||
|
||||
// Force the whole window to be repainted
|
||||
void ScintillaWX::FullPaint() {
|
||||
#ifndef __WXMAC__
|
||||
stc->Refresh(false);
|
||||
#endif
|
||||
stc->Update();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user