In Windows Property Sheet can have any mix of icon-less tabs and tabs
with icons. Adds a check to see if the icon we're adding is non-NULL
(otherwise random junk from memory can be rendered) when the application
has specified the PSP_USEICONID flag is set. Changes to the Tab control
to only render icons for tabs that have the TCIF_IMAGE flag set
(previously, if the flag was set the entire image list of icons was
rendered).
Stephane Lussier <stephane@macadamian.com>
Fixes for some tab control bugs
Henning Hoffmann
Fixed some width problem with OWNERDRAW tab.
Luc Tourangeau <luc@macadamian.com>
TCM_ADJUSTRECT is now returning consistant compare to Windows.
Serge Ivanov <sergei@corel.ca>
Fixed problem with tab selection. When you select tab it becames first
visible tab. Now leftmost visible tab is calculated properly.
- Added code for correct handling of updown control.
- Forced recalculation of tabs' coordinates when:
a) all items are deleted,
b) window style is canged
zeros. This prevents buffer overruns caused by accessing garbage data.
Some improvements to the NULL check patch.
Gautam Jain
EnumPrinters is not returning the number of printers found in case the
parameter dwLevel is 1.
Thuy Nguyen <thuy@macadamian.com>
Don't allow to resize stream open in read only mode
Allow write access for stream/storage open with STGM_READWRITE.
StgOpenStorage return values are now more detailed.
Don't rely on STGM_CREATE flag in the Storage constructor.
Preventing to write out of date property.
Owen Wang <owenw@corel.ca>
Allow both positive & negative 32-bit integers as with MFC assumption.
This patch improves the 32bit limit on IStream::*_Seek operations.
John Li <johnl@corel.ca>
When WP opens a linked file, the malloc function in
OLECONVERT_LoadOLE10(...) returns a NULL. This causes a later Wine
crash. The actual problem is the function reading a large data length.
patch adds similar behaviour to Wine. It also adds some NULL checks.
<yuxi@corel.com>
Fix property sheet initialization bugs.
Matthew Robertson
The template was calling GetActiveIndex which was not being set in the
propsheet code, and the call was moved before we call SetActive -
because that's where we query for the Active Index.
Noomen Hamza
Resize property sheet to the largest dialog size.
Don Kelly
In the WM_INITDIALOG handler for the prop sheet, there is a call to
PROPSHEET_IsTooSmall() which, if it returns TRUE, calls
PROPSHEET_AdjustSize(). Contrary to its comment, .._AdjustSize() actually
aligns the sizes of the "largest" prop. sheet dialog template and the tab
control. The IsTooSmall() call doesn't properly catch this mismatch.
Modified the function to return TRUE if the sizes mismatch and renamed it to
PROPSHEET_SizeMismatch() to reflect its proper use.