MinGW doesn't provide wspiapi.h header, so only include it when using MSVC and
include ws2tcpip.h which directly declares the functions used for the other
compilers.
This doesn't have quite the same semantics but it's better than failing to
compile at all.
See #15005.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This avoids the problem with mistakenly using wrong HDC in wxBitmapComboBox
code which was due to assuming that we can only ever have one paint HDC for
the given window -- while in wxBitmapComboBox case we are passed different
HDCs for the same window via WM_DRAWITEM.
Instead of fixing the cache, just don't use it at all for wxPaintDCEx as we
don't gain anything from doing it anyhow.
Closes#14842.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Ensure that the dialog has the appropriate size before showing it.
In addition to making it big enough to fit the pages contents, this also fixes
a problem with initial appearance under MSW.
Closes#15092.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We should either set the cell value in the event object everywhere or not do
it anywhere and as currently the native GTK and OS X versions don't do it at
all and the generic version only does it for ITEM_CONTEXT_MENU events, it's
easier to not do it at all.
See #14163.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This method couldn't be overridden by the classes deriving from wxLogWindow
because it was called (indirectly) from wxLogWindow ctor itself and so was
completely useless. Just remove it to avoid confusion.
Closes#12763.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is consistent with Windows behaviour and as the generic wxDataViewCtrl is
mostly used under Windows, it makes sense to follow Windows convention in it.
Closes#15082.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Initialize m_clientArea to NULL to avoid crash in SetFont() which is called
during the control creation.
This might still be not 100% correct as the initial font is not set at all for
the client area but at least it fixes the crash.
See #15056.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We do need to set the size of wxStaticText initially even when this style is
specified, it only tells us to not update it later. Otherwise even the initial
label was never shown in full.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We didn't update the accelerator table if no more accelerators were left in it
but we still need to do it to stop handling the previously active accelerators.
Closes#15078.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The file we're trying to watch might have been just deleted, this is an
unavoidable (and not only in theory but also in practice when watching busy
directories) race condition so don't give an error message if this does happen
but simply return false from Add().
Closes#15051.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Revert r73585, GetThreadId() is only available in Vista or later so don't use
it.
Just cast the handle to an integer explicitly to be able to print it with
"%x".
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The ID is in general more useful than the handle and this also fixes an assert
failure due to mismatch between the HANLDE type and "%x" format specifier.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Implements native UI for preferences editing. In particular, the API
handles the differences between modal (Windows) and non-modal (OS X) preferences windows and provides platform's native look.
Currently implemented natively for wxOSX/Cocoa, wxGTK and Windows (the latter is used as a fallback generic implementation as well).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The support is currently limited to making all toolbar items selectable
and is only available in wxOSX with Cocoa and native toolbars.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
If only the non-GUI portions of wxWidgets are used, the dependency on
Microsoft.Windows.Common-Controls assembly shouldn't be automatically
added to Visual C++. Only do it when compiling GUI code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't always deadlock when "Stop the last spawned thread" menu command is
selected. There is still a problem with a race condition which could result in
a crash when dereferencing an invalid pointer, but at least this doesn't
happen all the time, unlike the current bug.
Of course, the real solution would be to properly rewrite the sample to show
how thread deletion should be handled correctly...
See #14891.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Changing the bitmap could recreate the control if the height of the bitmap
changed but recreating wxBitmapComboBox lost all the client data pointers.
Do preserve them now when recreating.
Closes#14892.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxFrameBase::ShouldUpdateMenuFromIdle() should be defined inside "#if
wxUSE_MENUS" as it's only declared when wxUSE_MENUS==1.
Closes#15062.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This allows to generate the menu open/close/highlight events correctly for the
popup menus used in the dialogs.
Extend the menu sample with a test using such menus.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
r73386 introduced a crash in wxGTK drawing code when using old GTK+ versions
by releasing the mask pixmap prematurely. Apparently GTK+ itself was fixed at
some time in 2.19.x time frame but work around the bug for the sake of older
GTK+ versions in wxGTK itself by simply releasing the pixmap at the end of
DoDrawBitmap(), as pre-r73386 code did.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
g++ warned about possibly uninitialized variable, so initialize it in its
declaration even if it was actually already always initialized in the branches
where it could be used.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775