Non-blocking sockets can't work in worker threads without additional locking
as they generate events that can be dispatched from the main thread after the
socket object, created in the worker thread, is already destroyed, so don't
even attempt to use them if wxProtocol object is created from non-main thread.
Also simplify the code by removing the calls to SetFlags(), Notify() and
{Save,Restore}State() and simply put the socket from the beginning in
blocking, wait all mode that it needs to be in.
This, with the fixes in the previous commit, allows wxHTTP and wxFTP to work
from worker threads too.
Test using wxHTTP from a worker thread in the socket client sample.
Closes#17031.
Resolve ambiguity in assignment of wxImage to wxBitmap in wxMSW which also has
wxBitmap::operator=(wxCursor). This should allow the sample to compile under
MSW after the changes of 1fce152d3c.
This unit test will be executed for fast and full test. For each property there are generated random flags which are set with wxPGProperty::SetFlagsAsString(). Verification whether flags were set properly is done using wxPGProperty::GetFlagsAsString() and wxPGProperty::HasFlag() methods.
wxLogMessage displays message in pop-up window what prevents dragging the splitter and hence resizing cannot be in practice done. wxLogDebug is sufficient for the logging purposes in this place.
Code responsible for header demonstration should be excluded in this case because header management functions in wxPropertyGridManager depend on wxHeaderCtrl (via wxPGHeaderCtrl) and if it is not present then respective methods in wxPG are not exposed.
Instead of moving the frame up every time to be able to reach the
dragging section at the bottom, change the sizer proportion of the log
control in the middle to reduce the frame's height.
This constant wasn't very useful as it contained the description of the OS on
the machine where the library was built, not the one on which the application
using it was running. It also wasn't used anywhere in wxWidgets and apparently
wasn't meant to be used outside of it.
Finally, putting the output of `uname -r` into it created problems with
creating reproducible builds as just a change in the kernel version changed
the build results.
Closes#17002.
When re-creating a wxChoice in the widgets sample it expands vertically.
Same fix as dd740d8 (ticket #9594) but for the Choice page instead of
Combobox page.
Use this dedicated function to check the type of variant value instead of calling wxVariant::GetType() function and performing explicit comparisons of returned string.
Remove alignment flags that result in asserts because of being used in
combinations that don't make sense.
Also use wxSizerFlags in the lines that were changed.
MSVC8 gives
.\ownerdrw.cpp(96) : warning C4189: 'pFrame' : local variable is initialized
but not referenced
so just don't define this variable to avoid the warning.
The version doesn't really matter as the only change in 2.5.3.0 compared to
2.3.0.1 seems to be the handling of "\\" which doesn't occur in any of these
files anyhow, but use the latest one just in case anybody takes one of these
files as a starting point.
The size hints must be explicitly set if tool and/or status bars are added to
the frame after loading its contents from XRC. This didn't matter before
because the (only) item of the frame sizer effectively had wxGROW style and so
adjusted to the frame size even if it was less than the minimal size, but now
that wxALIGN_CENTER_VERTICAL, which was always specified in rc/frame.xrc file
but never taken into account before, is honoured, the initial frame size is
not big enough to show its contents which looks ugly, so work around this.