mirror of https://github.com/BOINC/boinc.git
parent
49e36015a1
commit
df7a1cdc42
|
@ -736,6 +736,15 @@ void CMainDocument::HandleCompletedRPC() {
|
|||
#endif // ! __WXMSW__ // Deadlocks on Windows
|
||||
}
|
||||
|
||||
// We must call ProcessEvent() rather than AddPendingEvent() here to
|
||||
// guarantee integrity of data when other events are handled (such as
|
||||
// Abort, Suspend/Resume, Show Graphics, Update, Detach, Reset, No
|
||||
// New Work, etc.) Otherwise, if one of those events is pending it
|
||||
// might be processed first, and the data in the selected rows may not
|
||||
// match the data which the user selected if any rows were added or
|
||||
// deleted due to the RPC.
|
||||
// The refresh event called here adjusts the selections to fix any
|
||||
// such mismatch before other pending events are processed.
|
||||
if ( (crr_event) && (crr_event != (wxEvent*)-1) ) {
|
||||
if (!retval) {
|
||||
if (crr_eventHandler) {
|
||||
|
|
|
@ -207,6 +207,10 @@ bool CBOINCGUIApp::OnInit() {
|
|||
#if wxCHECK_VERSION(2,8,0)
|
||||
// In wxMac-2.8.7, default wxListCtrl::RefreshItem() does not work
|
||||
// so use traditional generic implementation.
|
||||
// This has been fixed in wxMac-2.8.8, but the Mac native implementation:
|
||||
// - takes 3 times the CPU time as the Mac generic version.
|
||||
// - seems to always redraw entire control even if asked to refresh only one row.
|
||||
// - causes major flicker of progress bars, (probably due to full redraws.)
|
||||
wxSystemOptions::SetOption(wxT("mac.listctrl.always_use_generic"), 1);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -32,6 +32,12 @@
|
|||
#define LISTCTRL_BASE wxListCtrl
|
||||
#include "wx/listctrl.h"
|
||||
#else
|
||||
// In wxMac-2.8.7, default wxListCtrl::RefreshItem() does not work
|
||||
// so use traditional generic implementation.
|
||||
// This has been fixed in wxMac-2.8.8, but the Mac native implementation:
|
||||
// - takes 3 times the CPU time as the Mac generic version.
|
||||
// - seems to always redraw entire control even if asked to refresh only one row.
|
||||
// - causes major flicker of progress bars, (probably due to full redraws.)
|
||||
#define LISTCTRL_BASE wxGenericListCtrl
|
||||
#include "wx/generic/listctrl.h"
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue