X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ab9893576c877f5691023315c23c8348d9d6affd..34b239ec5d9c20a78adaa2dd680bd482b43a68f7:/src/common/ctrlsub.cpp diff --git a/src/common/ctrlsub.cpp b/src/common/ctrlsub.cpp index 68d4b1a591..388af3e6ff 100644 --- a/src/common/ctrlsub.cpp +++ b/src/common/ctrlsub.cpp @@ -165,6 +165,8 @@ void wxItemContainer::SetClientObject(unsigned int n, wxClientData *data) wxASSERT_MSG( !HasClientUntypedData(), wxT("can't have both object and void client data") ); + wxCHECK_RET( IsValid(n), "Invalid index passed to SetClientObject()" ); + if ( HasClientObjectData() ) { wxClientData * clientDataOld @@ -188,6 +190,9 @@ wxClientData *wxItemContainer::GetClientObject(unsigned int n) const wxCHECK_MSG( HasClientObjectData(), NULL, wxT("this window doesn't have object client data") ); + wxCHECK_MSG( IsValid(n), NULL, + "Invalid index passed to GetClientObject()" ); + return static_cast(DoGetItemClientData(n)); } @@ -214,6 +219,8 @@ void wxItemContainer::SetClientData(unsigned int n, void *data) wxASSERT_MSG( HasClientUntypedData(), wxT("can't have both object and void client data") ); + wxCHECK_RET( IsValid(n), "Invalid index passed to SetClientData()" ); + DoSetItemClientData(n, data); } @@ -222,6 +229,9 @@ void *wxItemContainer::GetClientData(unsigned int n) const wxCHECK_MSG( HasClientUntypedData(), NULL, wxT("this window doesn't have void client data") ); + wxCHECK_MSG( IsValid(n), NULL, + "Invalid index passed to GetClientData()" ); + return DoGetItemClientData(n); }