Allow the code to determine which underlying technology is used for
implementing wxGraphics API. This is needed by the unit tests to account for
the known differences between platforms and may be useful in other cases.
Closes#16154.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix wxLANGUAGE_CAMBODIAN definition in autogenerated code, this was already
done manually in r76368 but these changes would have been lost after the next
generation, so update the script itself to generate them.
Closes#16183.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Data for this language was added manually in r75752, which meant that it was
going to be lost after the next regeneration of the automatically generated
files.
Add it properly, by updating misc/language/langtabl.txt now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
the enum, but as such must still be given, before messing with the automatic
internal counter of enum by defining synonyms. Fixes#16183.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This separates the GTK implementation from Unix/X11, except for the wxVideoMode
stuff, and _NET_WORKAREA when GTK < 3.4. wxDisplay and wxClientDisplayRect()
should now work as well as they can with Wayland.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The treeview does an unselect_all causing a "changed" signal with no selection.
The problem is easily triggered by pressing Ctrl-F (the "start-interactive-search" key binding)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Transfer data recursively for consistency with the generic implementation and
because this generally just makes more sense.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76328 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
At least under GTK SetMaxLength(), tested by this test, can't be used with
multiline text controls at all, so running it fails. Keep the test for MSW
only where SetMaxLength() works with controls of all kinds.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't assume that we can open any file as a sound, check for the return value
from AudioServicesCreateSystemSoundID().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The timer is only used by Carbon code, there is no need for it in Cocoa, so
don't complicate things by starting it unnecessarily.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Sound ID 0 is not actually invalid, it is returned by
AudioServicesCreateSystemSoundID() when it fails to open the file and
currently we don't consider this to be an error. However, because we never
called AudioServicesDisposeSystemSoundID() for this sound ID, we continued to
receive the notifications from the callback registered by
AudioServicesAddSystemSoundCompletion() for it even after the corresponding
sound object was destroyed, resulting in crashes when playing it more than
once.
Fix this by keeping a separate flag indicating whether we're playing a sound
and always disposing of the sound if we are, even if ID is 0.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Ensure that the custom renderers get a chance to validate (and maybe change)
the value entered by user, as previously it was completely impossible with the
native OS X implementation of wxDataViewCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This fixes an ODR violation which could arise if wxWeakRef<T> was seen both
when T was an incomplete (e.g. just forward-defined) class and when it was
complete. As different implementations, with different binary layouts, were
used in these two cases, this resulted in fatal run-time problems.
Fix this by always using the slightly less efficient (because storing an extra
pointer) but simpler and safe "dynamic" wxWeakRef implementation.
Also get rid of checks for the ancient compilers such as VC6 and g++ < 3.3,
they are not supported any longer.
Closes#15884.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is inconsistent with wxOSX and also doesn't play well with the existence
of wxINTERPOLATION_DEFAULT which is different from wxINTERPOLATION_GOOD.
See #14134.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This will allow the compiler to give us a warning if more elements are added
to the enum later but not added to the switch.
Also add error checking to Graphics::SetSmoothingMode() call.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use wxGDIPlusContext own method instead of using GDI+ method directly when
setting the interpolation mode in wxGDIPlusContext initialization code to
ensure that m_interpolation field matches the real interpolation mode used.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This member wwas never initialized, resulting in erratic behaviour of
SetInterpolationQuality() which compared its parameter with m_interpolation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775