fix(stable): wx 3.3.2 wxComboPopup-Cast in combochecklist (dynamic_cast)
This commit is contained in:
@@ -461,7 +461,9 @@ unsigned int combochecklist_get_flags(wxComboCtrl* comboCtrl)
|
||||
{
|
||||
unsigned int flags = 0;
|
||||
|
||||
wxCheckListBoxComboPopup* popup = wxDynamicCast(comboCtrl->GetPopupControl(), wxCheckListBoxComboPopup);
|
||||
// wx 3.3.2: wxComboPopup no longer derives from wxObject, so wxDynamicCast
|
||||
// (which static_casts to wxObject*) is invalid here — use C++ dynamic_cast.
|
||||
wxCheckListBoxComboPopup* popup = dynamic_cast<wxCheckListBoxComboPopup*>(comboCtrl->GetPopupControl());
|
||||
if (popup != nullptr) {
|
||||
for (unsigned int i = 0; i < popup->GetCount(); ++i) {
|
||||
if (popup->IsChecked(i))
|
||||
@@ -474,7 +476,9 @@ unsigned int combochecklist_get_flags(wxComboCtrl* comboCtrl)
|
||||
|
||||
void combochecklist_set_flags(wxComboCtrl* comboCtrl, unsigned int flags)
|
||||
{
|
||||
wxCheckListBoxComboPopup* popup = wxDynamicCast(comboCtrl->GetPopupControl(), wxCheckListBoxComboPopup);
|
||||
// wx 3.3.2: wxComboPopup no longer derives from wxObject, so wxDynamicCast
|
||||
// (which static_casts to wxObject*) is invalid here — use C++ dynamic_cast.
|
||||
wxCheckListBoxComboPopup* popup = dynamic_cast<wxCheckListBoxComboPopup*>(comboCtrl->GetPopupControl());
|
||||
if (popup != nullptr) {
|
||||
for (unsigned int i = 0; i < popup->GetCount(); ++i) {
|
||||
popup->Check(i, (flags & (1 << i)) != 0);
|
||||
|
||||
Reference in New Issue
Block a user