fixed it by looking for funny things that deviated from
the sameples, and doing various recommended safe things,
and found a few sql errors, and one by one the crashes
went away.
The new wxWidgets just seems less tolerant of little careless
stuff that is not right.
Halting work on main program to re-integrate libraries.
Crash on file dialog. Does not happen in
wxWidgets sample code
Failure to record last used. Does not happen in
wxWidgets sample code
Failure to throw hash re-use exception
(the library always returns zero on hashing data into an
unfinalized, or finalizing an already finalized hash)
Need to use std::variant, with the variants being
monotype for the default init of hash and blob of unsigned
char for the init with an hsh argument, with a member
function blob that does get_if<1> and casts it to byte,
(and throws if it returns null) and for hsh, the variants
being monotype, the libsodium data structure,
and another monotype after the hash is finalized.
For every cross type constructor, you need a corresponding
static cast in the source type, so that copy construction works.
I don't know why << fails with a left hand type.
looks like wxWidgets bugs
going back to sample code
either sample code breaks, and I make a bug report
to wxWidgets, or I converge the sample code to my
code, and see when it breaks
But did not apply the concept to the parameter pack,
event though I applied no end of cleverness to generate
a variant concept, because
visual studio gives meaningless error messages when applying
a variant concept to a parameter pack.
This will probably improve in later or different compilers,
but right now, this feature does not work
sanity test of pubkey mysteriously fails in display_wallet, yet identical test with same values succeeds in unit_test
need to create a view once sanity test passes.
then need to refresh display on edit/add name
need to make a second try at integrating release v3.2.2.1
Restored the wallet manifest.
Discovered that local wxString variables are apt to get wiped during
a throw. Dangerous to pass a wXstring.utf8() to an exception
Used it in one place. Better than printf
derived functionality.
But they never bothered to think through supporting user types,
and that is a complete mess that is grossly inconsistent or simply
not working from one compiler to the next.
Remade hashing according to the dry principle,
eliminating much code repetition.
Introduced c++20 "concepts" to radically reduce
verbose and incomprehensible template metacode.
modified: src/db_accessors.h
modified: src/ristretto255.h
modified: src/testbed.cpp
Because one has to separately specify build characteristics in
many different places it is quite difficult to make sure the right
things are linking the right things.
I added the two files msvc/winConfigDebug.bat msvc/winConfigRelease.bat
To build only the libaries that should be linked, so we will get an
error message if a release build links to a debug build.
I have been using their unreleased versions for a very
long time.
The release has radically reorganized the build process, probably
to support arm builds
Turned off the deprecated compare warning with explanation
Made a small start on getting names in correct order in the display_wallet
Unit test and create new wallet is still broken if wallet file does
not already exist
changed it to proof of share.
Made a small start on populating the horizontal navbar
discovered that no end of my documentation has been broken
by events and should not be linked in.
and a banner.
Broke all my existing markdown builds, because I
have a hundred files that do not fit the new machinery
And now I have to provide navbars for each directory,
and update the mkdocs.sh in each directory
And add a recursive invocation of mkdocs in subdirectories