wxDC::DrawEllipse() used to use the text background for filling the
ellipses drawn with transparent pen, for some reason. According to
f9b28cd4325f42936d3122bfe7c847354bbbfee9 which changed this (this commit
was part of df13791078 merge done with
svn), this was done for compatibility with wxGTK, but wxGTK definitely
doesn't do it now and apparently never did, so there must have been some
mistake.
Simply remove the extra code using the text background for consistency
with this method behaviour in the other ports and also other methods
behaviour in the same port.
Closes https://github.com/wxWidgets/wxWidgets/pull/1087
Under wxQT, wxMemoryDC was previously rendering to a temporary image
which was only being blitted back to the original wxBitmap when either
the DC wx destroyed or a new bitmap was selected (via SelectObject).
With these change wxMemoryDCImpl now draws directly to the bitmap
managed by wxBitmap, this makes the behaviour more consistent with the
MSW and GTK implementations.
Closes https://github.com/wxWidgets/wxWidgets/pull/1083
Fix another regression in wxTranslations in 3.1.2 and check that the
vector of acceptable translations is not empty before using its first
element.
Closes https://github.com/wxWidgets/wxWidgets/pull/1082Closes#18299.
Do load the catalog corresponding to the language of "msgid" strings in
the source code, only skip the languages strictly less preferred than
it.
This avoids incompatibilities with pre-3.1.2 behaviour and avoids
breaking existing applications relying on the old behaviour.
Closes https://github.com/wxWidgets/wxWidgets/pull/1081Closes#18297.
Delete() doesn't (and can't, under Unix) wait for the detached threads,
although it does do it under MSW (but arguably shouldn't), so it can't
retrieve the thread exit code there.
Document that its "rc" argument is only useful with joinable threads.
Closes#18240.
For some reason one of the overloads of the c'tor left the m_qtPainter
field set to NULL rather than asking the wxDC for it's painter.
The rest of the class assumes the painter is not NULL.
Closes https://github.com/wxWidgets/wxWidgets/pull/1075
This method used to return a dangling pointer to a temporary buffer,
which resulted in a crash when using it, e.g. in the unit test.
Fix this by keeping a QImage as a member in wxBitmapRefData, so that the
pointer to its data remain valid until UngetRawData() is called.
Also check that GetRawData() returns a non-null pointer in the test.
Closes https://github.com/wxWidgets/wxWidgets/pull/1067
This is more reliable than checking whether we can link with the library
manually and may work even if it's installed in a non-standard location.
It also allows the user to specify PKG_CONFIG_PATH='pkg-config --static'
when running configure to link with all transitional dependencies when
linking statically.
Closes https://github.com/wxWidgets/wxWidgets/pull/1073
See #18293.
Fix the test added in dfec7aa0c0 which
deleted the button pointer used by EventCounter by simply moving
EventCounter initialization after the button re-creation.
See #16385.
Do not abort when libLZMA or libSecret can not be found, just show a warning.
Do not search for libSecret on macOS.
Disable libraries internally (not in cache) when not searching for them.
Previous implementation didn't take into account that
wxBitmap::GetHandle() could return NULL for wxQt. Specifically when
wxBitmap::IsNull returns true.
Closes https://github.com/wxWidgets/wxWidgets/pull/1071
QT doesn't have the concept of font encoding and is generally Unicode
aware throughout. The previous implementation of wxFont::GetEncoding for
wxQT returned a nonsensical value.
Closes https://github.com/wxWidgets/wxWidgets/pull/1070
wxCairoContext::Flush was flushing back to the internal image but this
image wasn't drawn back to the QPainter until the wxCarioContext
instance was destroyed.
This fix ensure that after a call to Flush, anything drawn by Cario is
drawn back to the QImage.
Closes https://github.com/wxWidgets/wxWidgets/pull/1068
If a QGroupBox is disabled, then you cannot set any of its items to be
enabled without first enabling it. Enabling/disabling it will set that
value (true/false) on all of its items, although setting the QGroupBox
to an enabled state which it already has does not result in this
behaviour.
Fix wxQt to match the expected wxRadioBox behaviour and allow the unit
test to pass.
Closes https://github.com/wxWidgets/wxWidgets/pull/1064
This definition is needed when building both shared and static webview
library when using WebKit 2, but for some reason wasn't included for the
latter.
Closes https://github.com/wxWidgets/wxWidgets/pull/1061
Remove update steps for wxBlog (because it's redundant with the news
post on www.wxwidgets.org now that both are hosted at the same site),
Google+ (because of its extinction) and Buildbot (because we're going to
stop using it soon anyhow).
Add a step for updating the list of compilers used for building
binaries.
This is slightly simpler, as it doesn't require checking whether the
control state really changes or not (it always does if DoEnable() is
called) and allows disabling the controls before creating them, e.g.
code like
wxButton* const b = new wxButton();
b->Disable();
b->Create(this, wxID_OK);
works as expected now instead of spewing GTK+ errors.
Don't forbid calling Enable() before creating the window and just do
nothing in this case and do disable the window when it's actually
created if it's supposed to be disabled.
Note that this doesn't work for classes overriding Enable() directly,
such as wxButton or wxCheckBox, currently.
Disabling a window before actually creating it ought to work, similarly
to hiding a window before creating it which can be used to avoid showing
the window on screen at all, even briefly. However it didn't under MSW
where the window was disabled from wxWidgets point of view, but not at
the MSW level.
Fix this by accounting for the enabled state in MSWGetStyle().
Closes#16385.