wxMSW propagates accelerators to the top menu in wxMenu::UpdateAccel(),
but the reverse operation in wxMenu::DoRemove() didn't do it, resulting
in leaked leftover accelerator entries that could prevent the same
accelerator from working if an item using it was later added. Fix by
adding RemoveAccel() helper method that behaves analogously to
UpdateAccel().
(backport of 60542745f6 from master)
This overrides the default minimum size of 150+ pixels, avoiding swarms of
GTK3 debug warnings about "attempt to underallocate wxPizza's child GtkEntry"
(cherry picked from commit 27d218a1f3)
Use a slightly higher idle priority so callback runs before TLW is deleted,
and ref the widget just to make sure it doesn't disappear. Problem was
introduced in 0388ce8e25
(backport of 9c3900e40d, which modified
9dc7a89ccd, which wasn't backported)
Apparently the clip is no longer set properly. Fixes wxDC::Clear() overwriting
areas outside the window. Problem can be seen in the Audacity toolbars.
(cherry picked from commit bca7313499)
A change in size-allocate handling with GTK+ 3.20 exposed a flaw in our method for
deferring queue-resize requests. Using an idle callback to process the requests
did not work well with the GdkFrameClock-based system used since GTK+ 3.8. Using
the "check-resize" signal works better. Also with GTK+ >= 3.20, it seems necessary
to manually work the queue-resize up to the TLW, as otherwise the resized widgets
don't get updated without an external size-allocate event.
See #17585
(backport of 3b4ee5a031)
wxDataViewTextRenderer::SetAlignment didn't consider the posibility of
alignment being -1, causing the align & wxALIGN_RIGHT test to succeed
and the text to be right-aligned if explicit alignment wasn't provided.
This fix is only partial in that it simply does nothing in this case.
The correct thing to do is to determine and apply alignment later, once
it's known, but that's not possible to do on the 3.0 branch while
preserving binary compatibility.
(inspired by a6be5bdae3)
Since OS X Sierra 10.12 QTKit has been removed. wxMediaCtrl for OS X already had a fallback to AVFoundation implemented. This makes sure this will be used and the correct media Frameworks are used for linking.
(cherry picked from commit 281610142b)
When compiling in C++11 mode the typecast of AVPlayerStatus in the callback is required to avoid a compiler error.
(cherry picked from commit ce7bf5e539)
In both the generic and GTK+ implementations, setting the value of a
bitmap column to wxNullVariant resulted in the bitmap, if set for some
rows, being repeated on the rows with null value.
(cherry picked from commit f3b8dac3b7)
Consistently with other implementations, accept wxNullBitmap and
wxNullIcon in wxDataViewBitmapRenderer if the column shouldn't show any
icon.
(cherry picked from commit ae93a83e76)
wxString iterators can't be dereferenced once they reach the end of the
string, so compare them with end rather than checking if the value they point
to is non-NUL.
This makes wxFTP::Pwd() actually work, which was apparently broken since quite
some time (perhaps ever since c9f7896861 9+
years ago).
See #17679.
(cherry picked from commit d0c57dbef0)
As all tests need a valid connection, just do it once in the test set up
instead of duplicating the call to Connect() in all tests.
No real changes.
(cherry picked from commit 461d0b2005)
wxGetKeyState() does not currently work on non-X11 GTK backends, and in some
cases it has been reported to crash. It seems that the most likely use case
for wxGetKeyState() is to query the modifier keys, so on non-X11 backends, use
GTK+ calls to retrieve the modifier key state.
Non-modifier keys are not currently implemented, update the documentation to
mention this.
Closes https://github.com/wxWidgets/wxWidgets/pull/322
(this is a combined backport of 1033fb048d,
9f9c09e24a and
a18fe083cc from master)