wxDFB compilation was broken by recent wxObjectRefData copy ctor-related
changes. Fix it by not using wxCursorRefData copy ctor any more, call
wxCursorRefData::Clone() which does the right thing explicitly instead.
Closes#12791.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This not only removes some unnecessary code from the sample but also fixes a
problem due to the use of a 0 id under wxOSX (which is unsupported there).
Closes#12788.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Replace hardcoded 72 DPI which was "compensated" for with a 0.8 fudge factor
with the values using the real screen DPI in wxGTK and PostScript print
preview classes.
Closes#12777.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Replace mentions of the non-existent wxCONFIG_WIN32_NATIVE with
wxUSE_CONFIG_NATIVE. Also explain what does the "best implementation" really
mean and link to wxAppTraitsBase::CreateConfig().
Closes#12787.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Replace the test for the OS version with the test for comtrl32.dll version in
HasNativeHyperlinkCtrl() wxMSW function as the native control could be not
available even under Vista/7 if we're not using comtrl32.dll v6 and this can
happen if the program was linked without the appropriate manifest or, possibly
more likely, if a DLL using wxWidgets was loaded by such a program.
Closes#12711.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add new wxDataViewModel::IsEnabled() and wxDataViewListStore::IsEnabledByRow()
methods and implement support for actually disabling the items in wxOSX/Cocoa
native implementation of wxDataViewCtrl and limited support for it in the
generic version.
We need to implement this in wxGTK using GtkCellRenderer "sensitive" propriety
later.
Closes#12686.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Get rid of wxMenuBar::m_titles array which doesn't seem to be needed and just
store the titles in the menus themselves instead. This makes wxMenu::GetTitle()
work as in the other ports and fixes unit test failures in menu test.
It also makes it unnecessary to duplicate the base class Find[Menu]Item()
methods in wxOSX wxMenuBar so simply remove them entirely.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The _wxMenuAt() function was totally unnecessary and duplicated the existing
wxMenuBar::GetMenu() so simply remove it and use GetMenu() instead.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This fixes the bug introduced in r63879 which used the wrong indices into the
stops array resulting in visual artefacts in wxAUI, for example (and also
possible crashes due to accessing out of bound array elements).
Closes#12784.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This fix is similar to r66368 for wxMSW and preserves the slider value when
its range changes. This is necessary because while the underlying native
control value doesn't change when the range is, the logical value of wxSlider
does change if it must be inversed as this depends on the range.
See #12765.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
If the log frame creation itself generates log messages, the code using
wxLogWindow could crash because its m_pLogFrame member variable wasn't
initialized yet at this moment.
Do set it to NULL initially now to avoid this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't use wrong compiler-generated copy ctors in the other ports neither (see
r66371..66373 for wxGTK fixes). This fixes compilation after r66374 without
reducing functionality but just making it more clear where it is missing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Changes of r66379 broke the unit test as wxAcceleratorEntry::Create() now
requires the TAB to be present in the string passed to it (again).
Update the test to make it pass.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Check for the presence of accelerator part in the string passed to
wxAcceleratorEntry::Create() and don't call ParseAccel() at all if it's not
there. This avoids the spurious warnings about unrecognized accelerators when
creating menu items that don't have any accelerators at all.
Also update wxAcceleratorEntry::FromString() documentation to mention that
the new code should pass just the accelerator to this function and that it
only accepts full menu item labels for compatibility.
Closes#12770.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix a warning (which might be an error with some compilers) about returning
NULL from bool wxRichTextImageBlock::DoMakeImageBlock() function.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxRefCounter copy ctor was wrong as the new object had the same reference
count as the old one instead of starting its life with reference count set to
1 as any new object should.
While we could fix its copy ctor, it seems to be better to forbid copying
wxRefCounter objects at all because the semantics of doing this is not obvious
and the compiler-generated copy ctor in the derived classes often doesn't do
what the code using it expects it to do, as was discovered by making
wxRefCounter non copyable: see the fixes in the previous commits.
To uncover all such bugs, make wxRefCounter and classes deriving from it non
copyable. If this uncovers more problems, they should be fixed by implementing
copying properly (and explicitly) in the derived classes.
Closes#12768.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxIcon and wxMetaFile implemented CloneGDIRefData() using copy ctors of the
corresponding ref data classes but the copy ctors were either wrong (for
wxIconRefData as using it would result in messing up IconRef reference count)
or had wrong semantics (wxMetafileRefData copy ctor performed shallow copy
only while CloneGDIRefData() supposes a deep copy is done).
Replace the wrong implementations of these functions with assert that will be
triggered if they are ever used (which doesn't seem to be the case so far).
See #12768.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxBitmapRefData didn't have a proper copy ctor but the code in wxGTK wxBitmap
implementation used it nevertheless and then manually patched the newly copied
object to avoid double pointer deletion and other unpleasantness.
Make the code more obviously correct by not using (nor providing) copy ctor at
all. There are no real changes otherwise.
See #12768.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
CloneGDIRefData() used wxCursorRefData copy ctor which wasn't implemented
correctly and simply copied its internal m_cursor member without incrementing
its reference count which resulted in a crash when it was then dereferenced
twice.
Unfortunately there doesn't seem to be any simple way to clone GDK cursors but
as this should be something only rarely (if ever?) needed, simply don't
implement CloneGDIRefData() at all for now and just leave an assert in it if
it's ever really called. Also don't define wxCursorRefData copy ctor at all as
it can't be done correctly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Correct wxImage::RemoveHandler() documentation which was plain wrong.
Also mention that the handler will be deleted by wxImage in AddHandler()
documentation.
And add an example of using AddHandler() as well as fix the broken text in
wxInitAllImageHandlers() description.
Closes#12772.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66370 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775