This is a more hackish but more compatible solution to the problem of
data sent using wxIPC_UTF8TEXT format being simply lost when using DDE
for IPC classes. We must use CF_TEXT for the DDE to pass our data, but
we can try to decode it as UTF-8 in the client and assume it was sent in
this format if it worked. This obviously suffers from false positives as
any ASCII string will still be assumed to be UTF-8, but there shouldn't
be any real harm coming from this.
This change also makes sending data in wxIPC_UTF{16,32}TEXT formats work
as well by converting it to UTF-8.
Update the sample to call Advise() with both wxIPC_UTF{8,16}TEXT formats
and remove the now unnecessary wxDDEConnection::m_dataType member.
Closes#17900.
This reverts commit c657fd3d61 because
changing the format of DDE advise requests/replies is not a good idea:
other applications (those using previous versions of wxWidgets or even
not using wxWidgets at all) may rely on getting data in real CF_TEXT
format rather than in one of text formats preceded by the extra byte
containing the actual format and the previous commit would have silently
broken this.
Another fix for #17900 will be implemented instead.
Main editor and its button (secondary editor) should be both hidden while dragging the splitter because it's misleading when one part of the property editor disappears and another part remains visible.
Monolithic build regressed with commit
815d288c4fedba044a9863c883d6dd9f53526668 "Set wx-config base, gui and
built libraries".
The code queries each possible target name and creates lists of the
valid targets. In the monolithic build, none of the normal target names
exist, so the list is empty. The empty list is then passed to STRIP,
causing cmake to fail due to not having enough arguments.
By quoting the STRIP params we can pass an empty argument and thus
prevent the error of not-enough arguments.
See https://github.com/wxWidgets/wxWidgets/pull/1100
Radio buttons with wxRB_SINGLE style are not set initially. When
getting set, the code attempts to unset other radio buttons that do not
have wxRB_GROUP | wxRB_SINGLE style.
Closes https://github.com/wxWidgets/wxWidgets/pull/1099
Introduce wxQtEdit class and wxQtMultiLineEdit and wxQtSingleLineEdit
derived classes instead of using ifs in many wxTextCtrl methods, making
the code more clear and maintainable.
Also fix some wxTextCtrl-related unit test failures with wxQt and
disable some other ones which still don't pass.
Closes https://github.com/wxWidgets/wxWidgets/pull/1039
wxIPC API doesn't map well onto DDE, as we don't have wxIPCFormat
parameter in StartAdvise() but do allow specifying the format when
calling Advise() itself, whereas DDE requires specifying the format when
establishing the advise loop and the data always must use this format
later.
Because of this, we have to pass the actual format with the data itself
instead of relying on DDE formats support. This has the advantage of
allowing wxIPC_UTF8TEXT to work, while previously it didn't and
couldn't, as DDE only supports the standard (or custom, but registered)
clipboard formats and it wasn't one of them. Of course, this also has a
disadvantage of having to make another copy of the data, but this seems
unavoidable.
This change allow Advise() overload taking wxString to work, including
for non-ASCII strings, as shown by the update to the IPC sample. It also
makes wxDDEConnection::m_dataType unnecessary, as we must always use the
format passed to DDE callback anyhow when handling XTYP_ADVREQ.
Closes#17900.
By design only bitmaps lower than row height are displayed within the cells.
Because on every platform default row height can vary so bitmap has to be explicitly scaled to the row height to ensure that it will be initially displayed on every platform.
Closes#18310.
DDE code translates wxIPC_PRIVATE to wxIPC_TEXT internally since a
change done in 9d86099269, but same commit
also added a warning to the ipc sample stating that wxIPC_PRIVATE
doesn't work, which isn't really the case.
Remove the warning to avoid the confusion.
See #7470.
The latest changes to wxTranslations::AddCatalog() behaviour were not
backwards-compatible and also had other problem, so revert them for now,
even if this means that #18227 has to be reopened.
This is a combination of the following commits:
----
Revert "Fix regression in wxTranslations::AddCatalog()"
This reverts commit 14e905858d.
See #18297.
----
Revert "Fix crash in translations code when no translations are found"
This reverts commit 80904d1bc7.
See #18299.
----
Revert "Rename new wxTranslations method to GetAcceptableTranslations()"
This reverts commit 20b02d6169.
----
Revert "Load catalogs for all preferred languages, if they exist"
This reverts commit 2d784da2ee.
----
Revert "Allow getting all usable translations languages"
This reverts commit 5d08e404c7.
----
See #18227, #18300.
Closes#18302.
This partially reverts 7e1b64a2eb as it
broke wxRearrangeList because assigning to m_order[n] used an
out-of-range index.
Another possible fix would be to replace reserve() call added in that
commit with resize(), but there doesn't seem to be any advantage in
assigning elements one by one, rather than all at once, as it had been
done before, so just revert this change instead.
See #17836.
Compute the best size of the notebook, taking into account all the
different layout possibilities, and add a test checking that this works
as expected.
Closes https://github.com/wxWidgets/wxWidgets/pull/1085
Attempting to create a bitmap with 0 width or height results in an
assertion failure, which is fatal, as it happens in wxEVT_PAINT handler
and so quickly results in reentering it and asserting again and
recursive assert failures terminate the application.
Just avoid doing it, there is nothing to paint anyhow if the associated
rectangle is empty.
See https://github.com/wxWidgets/wxWidgets/pull/1085
This macro parameter is passed to wxArrayStringProperty::OnButtonClick() parameter of wxChar* type. char* string interpreted in this function as a wxChar* string results in obtaining invalid Unicode characters.
This fixes a regression introduced in b70ed2d8c8.
Closes#18307.
This fixes PVS Studio static analyzer warnings:
V808 'errMsg' object of 'wxString' type was created but was not utilized. docview.cpp 1182
V808 'search' object of 'wxString' type was created but was not utilized. dirctrlg.cpp 697
V808 'filename' object of 'wxString' type was created but was not utilized. dirctrlg.cpp 697
(see full report at http://www.fly-server.ru/pvs-studio/wxWidgets-core/)
Closes https://github.com/wxWidgets/wxWidgets/pull/1096