7ee21e3a3d
wxGetWindowFromHWND() could crash if it was called for a HWND of a radio button which was not created by wxWidgets because it blindly dereferenced the user data associated with the button expecting it to be a pointer to wxRadioBox and crashed if it was something different. And this actually happened when using the standard Windows printing dialog which can contain radio buttons which obviously used their user data field for their own purposes. Fix this by maintaining a global hash map with radio buttons HWNDs as keys and radio boxes as values. This ensures that we can always safely check whether the given HWND is a radio button in one of our radio boxes or not. Also change wxSpinCtrl which already did something similar in a different way (using an array instead or a more efficient hash map) for consistency. Closes #12083. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 |
||
---|---|---|
.. | ||
ole | ||
private | ||
wince | ||
accel.h | ||
amd64.manifest | ||
app.h | ||
apptbase.h | ||
apptrait.h | ||
bitmap.h | ||
blank.cur | ||
bmpbuttn.h | ||
bmpcbox.h | ||
brush.h | ||
bullseye.cur | ||
button.h | ||
calctrl.h | ||
caret.h | ||
cdrom.ico | ||
checkbox.h | ||
checklst.h | ||
child.ico | ||
chkconf.h | ||
choice.h | ||
clipbrd.h | ||
colordlg.h | ||
colour.h | ||
colours.bmp | ||
combo.h | ||
combobox.h | ||
commandlinkbutton.h | ||
computer.ico | ||
control.h | ||
crashrpt.h | ||
cross.cur | ||
csquery.bmp | ||
ctrlsub.h | ||
cursor.h | ||
datectrl.h | ||
dc.h | ||
dcclient.h | ||
dcmemory.h | ||
dcprint.h | ||
dcscreen.h | ||
dde.h | ||
debughlp.h | ||
dialog.h | ||
dib.h | ||
dirdlg.h | ||
dragimag.h | ||
drive.ico | ||
enhmeta.h | ||
evtloop.h | ||
fdrepdlg.h | ||
file1.ico | ||
filedlg.h | ||
floppy.ico | ||
folder1.ico | ||
folder2.ico | ||
font.h | ||
fontdlg.h | ||
frame.h | ||
fswatcher.h | ||
gauge.h | ||
gccpriv.h | ||
gdiimage.h | ||
genrcdefs.h | ||
glcanvas.h | ||
hand.cur | ||
headerctrl.h | ||
helpbest.h | ||
helpchm.h | ||
helpwin.h | ||
htmlhelp.h | ||
hyperlink.h | ||
ia64.manifest | ||
icon.h | ||
imaglist.h | ||
iniconf.h | ||
joystick.h | ||
libraries.h | ||
listbox.h | ||
listctrl.h | ||
magnif1.cur | ||
mdi.h | ||
mdi.ico | ||
menu.h | ||
menuitem.h | ||
metafile.h | ||
microwin.h | ||
mimetype.h | ||
minifram.h | ||
missing.h | ||
msgdlg.h | ||
mslu.h | ||
msvcrt.h | ||
notebook.h | ||
notifmsg.h | ||
ownerdrw.h | ||
palette.h | ||
pbrush.cur | ||
pen.h | ||
pencil.cur | ||
pntleft.cur | ||
pntright.cur | ||
popupwin.h | ||
printdlg.h | ||
printwin.h | ||
private.h | ||
progdlg.h | ||
question.ico | ||
radiobox.h | ||
radiobut.h | ||
rcdefs.h | ||
regconf.h | ||
region.h | ||
registry.h | ||
removble.ico | ||
richmsgdlg.h | ||
rightarr.cur | ||
roller.cur | ||
scrolbar.h | ||
seh.h | ||
setup0.h | ||
setup_inc.h | ||
slider.h | ||
sound.h | ||
spinbutt.h | ||
spinctrl.h | ||
stackwalk.h | ||
statbmp.h | ||
statbox.h | ||
statline.h | ||
stattext.h | ||
statusbar.h | ||
std.ico | ||
stdpaths.h | ||
subwin.h | ||
taskbar.h | ||
textctrl.h | ||
textentry.h | ||
tglbtn.h | ||
tls.h | ||
toolbar.h | ||
tooltip.h | ||
toplevel.h | ||
treectrl.h | ||
uxtheme.h | ||
uxthemep.h | ||
window.h | ||
winundef.h | ||
wrapcctl.h | ||
wrapcdlg.h | ||
wrapgdip.h | ||
wrapshl.h | ||
wrapwin.h | ||
wx.manifest | ||
wx.rc |