ENH:Protect the bitmap

jira: STUDIO-13044
Change-Id: Ib3c3332db9f902e4829a5eea8039f17834b60be8
(cherry picked from commit 7110c01dc7219a808af0eb94af16f1fd02c6687b)
This commit is contained in:
zhou.xu
2025-07-02 20:01:17 +08:00
committed by Noisyfox
parent b0656fefbe
commit e389072544

View File

@@ -192,7 +192,7 @@ bool ComboBox::SetFont(wxFont const& font)
int ComboBox::Append(const wxString &item, const wxBitmap &bitmap, int style)
{
if (bitmap.IsOk()) {
if (&bitmap && bitmap.IsOk()) {
return Append(item, bitmap, nullptr, style);
}
return Append(item, wxNullBitmap, nullptr, style);
@@ -203,7 +203,7 @@ int ComboBox::Append(const wxString &text,
void * clientData,
int style)
{
if (bitmap.IsOk()) {
if (&bitmap && bitmap.IsOk()) {
return Append(text, bitmap, wxString{}, clientData, style);
}
return Append(text, wxNullBitmap, wxString{}, clientData, style);
@@ -211,7 +211,8 @@ int ComboBox::Append(const wxString &text,
int ComboBox::Append(const wxString &text, const wxBitmap &bitmap, const wxString &group, void *clientData, int style)
{
Item item{text, wxEmptyString, bitmap, bitmap, clientData, group };
auto valid_bit_map = (&bitmap && bitmap.IsOk()) ? bitmap : wxNullBitmap;
Item item{text, wxEmptyString, valid_bit_map, valid_bit_map, clientData, group};
item.style = style;
items.push_back(item);
SetClientDataType(wxClientData_Void);
@@ -277,7 +278,7 @@ wxBitmap ComboBox::GetItemBitmap(unsigned int n) { return items[n].icon; }
void ComboBox::SetItemBitmap(unsigned int n, wxBitmap const &bitmap)
{
if (n >= items.size()) return;
items[n].icon = bitmap;
items[n].icon = (&bitmap && bitmap.IsOk()) ? bitmap : wxNullBitmap;
drop.Invalidate();
}