shell32: Check CPL_NEWINQUIRE message in control panel applets if we can't retrieve valid strings/icon

Owen Rudge owen at owenrudge.net
Thu Sep 18 18:13:58 CDT 2008


This patch helps to fix an issue discovered while debugging bug #5891. 
The cpl linked to in that bug demonstrates an issue whereby a malformed 
control panel applet can return seemingly valid data in the CPL_INQUIRE 
request, but this data then turns out to be invalid (the strings and 
icons it refers to do not exist in the cpl's resources). The 
CPL_NEWINQUIRE message, in this case, does send the correct details. 
This patch modifies the control panel so that it also tries 
CPL_NEWINQUIRE if it gets a zero-length applet title, or a null icon.

(CPL_NEWINQUIRE was introduced in Windows 3.1 and was considered the 
preferred mechanism then, however, Windows 95 and later favour the 
original CPL_INQUIRE, which is what most applets implement.)

A separate patch will follow to fix the same issue in the shell-based 
control panel.

---
  dlls/shell32/control.c |   16 ++++++++++++++++
  1 files changed, 16 insertions(+), 0 deletions(-)

-- 
Owen Rudge
http://www.owenrudge.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: b79020a1bf5e93fae39c1528d76eb89045c69f81.diff
Type: text/x-patch
Size: 1262 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080919/508c345a/attachment.bin 


More information about the wine-patches mailing list