Commit Graph

16052 Commits

Author SHA1 Message Date
Stefan Csomor
f82bf771e2 backport, get rid of performance warnings "For best performance, only use PostScript names when calling this API", see #15999
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-25 14:35:21 +00:00
Paul Cornett
10d96d920b allow using wxEventLoopGuarantor when wxUSE_GUI==1
fixes wxOSX-Cocoa build when wxUSE_CONSOLE_EVENTLOOP==0
closes #14980


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-17 16:15:28 +00:00
Paul Cornett
1262d43005 remove extraneous semicolons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-15 17:39:19 +00:00
Robin Dunn
059be74db3 Avoid possible infinite recursion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-14 03:24:39 +00:00
Paul Cornett
ef0f7ba770 make validator pointer const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-12 15:42:32 +00:00
Paul Cornett
129ed048d8 build fix for wxUSE_VALIDATORS==0 when NULL is defined to be nullptr
casting nullptr is not allowed

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-11 16:04:36 +00:00
Paul Cornett
7d8501c892 build fix for wxUSE_VALIDATORS==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-11 15:53:41 +00:00
Paul Cornett
5ab1db6a30 build fix for wxUSE_DRAG_AND_DROP==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-11 04:48:37 +00:00
Paul Cornett
1932822ed5 build fix for wxUSE_THREADS==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-11 04:48:12 +00:00
Paul Cornett
4560c70fff update comment for wxBG_STYLE_TRANSPARENT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-07 17:16:44 +00:00
Paul Cornett
e61b4f2a8a avoid double-to-float conversion warnings in headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-05 17:13:46 +00:00
Vadim Zeitlin
37024c991c Fix wxFileSystemWatcher::RemoveAll() to actually work.
We need to call DoRemove() on all watcher objects to really remove them, just
removing our record of them was not enough and e.g. resulted in errors if we
tried to re-add a previously watched path again.

Closes #15531.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-23 00:10:36 +00:00
Vadim Zeitlin
ddf01fe77f Fix handling deletion of watched directory in MSW wxFileSystemWatcher.
Don't log an incomprehensible error when the watched directory itself is
deleted, but generate wxFSW_EVENT_DELETE for it. This is consistent with the
behaviour under Unix and generally more useful.

Closes #13294.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-23 00:10:29 +00:00
Vadim Zeitlin
cf4329e848 Small refactoring in wxFileSystemWatcher MSW implementation.
Make wxIOCPService::GetStatus() smarter about its return value, it makes sense
to encapsulate the convention used to indicate the thread exit condition
inside wxIOCPService class itself instead of sharing it between it
wxIOCPThread itself.

It will also make it easier to detect more detailed error conditions in this
code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-23 00:10:25 +00:00
Vadim Zeitlin
15d82f05e1 Also free internal handlers when wxMSW wxStaticBitmap is destroyed.
r76141 fixed the resource leak when wxStaticBitmap image was replaced by
another one but the leak still happened at the end, when the wxStaticBitmap
was destroyed.

Fix it there as well in the same way.

Closes #16068.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-14 19:21:03 +00:00
Václav Slavík
9f430ab6a6 Be more permissive when validating format string arguments.
Previously, the code would assert if the caller passed too many
arguments to wxPrintf() or other printf-like functions. But that can
happen legitimately in translations: in some languages such as Hebrew,
using "1" (i.e. "%d") in the singular feels unnatural and it's better to
use the word "one" and left the variadic argument unused.

Relax the check not to assert in this case. This is consistent with the
standard library and other implementations. Notice that gettext's msgfmt
doesn't complain about this case either in the specific case of singular
forms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-27 15:23:43 +00:00
Václav Slavík
69a029635d Fix compilation with Xcode projects (type_traits).
The changes to type_traits headers detection with Clang broke Clang use
with the Xcode projects. Fix this by not setting HAVE_* macros in
config_xcode.h for Clang and letting defs.h detect the features.

See #15915.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-25 17:55:05 +00:00
Vadim Zeitlin
6a49c69452 Fix Unix build using clang with g++ 4.8 headers.
Don't override HAVE_TR1_TYPE_TRAITS detected by configure with
HAVE_TYPE_TRAITS detected by clang __has_include() as the latter is less
reliable and can return true even when the header is not actually usable, as
it happens with g++ 4.8 <type_traits> in non C++11 mode.

Closes #15915.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 22:38:24 +00:00
Vadim Zeitlin
cdd8fa44b5 Fix crash when using wxThreadSpecificInfo from global object ctor.
When not using compiler TLS support (which is the default now), TLS variable
itself needs to be initialized and user-defined code in the global objects
ctor could be called before this happened, resulting in using uninitialized
CRITICAL_SECTION under Windows and a crash.

Fix this by wrapping global wxThreadSpecificInfo itself in an accessor
function ensuring that it is always initialized before use.

Notice that this required adding wxTLS_TYPE_REF() as wxTLS_TYPE() itself can't
be used for the function return value (__thread or similar can only be used on
the variables).

Closes #16009.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-20 15:12:25 +00:00
Vadim Zeitlin
3965bf4fd6 Move DSS_HIDEPREFIX fallback definition to the central header.
Do it only once now that it's used in 3 different places (it recently started
to be used in src/msw/anybutton.cpp as well) instead of defining it thrice.

This also fixes MinGW build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-18 23:36:00 +00:00
Vadim Zeitlin
79542a7196 Fix crash in wxMSW wxFileSystemWatcher when removing the same path twice.
Starting to watch a path, stopping to watch it, starting to watch it again and
stopping again resulted in a crash in wxMSW wxFileSystemWatcher implementation
because the watcher object wasn't kept artificially kept alive when it was
stopped for the second time. This happened because our way of keeping it alive
was to store it in a hash map indexed by path, but if a watcher for the same
path (added there when this path was first unwatched) was already present in
the map, the watcher wasn't added to it and not kept alive.

Fix this by using a vector instead of a map. We obviously sacrifice quick
access to it by path but at least this doesn't crash any more. And we could
actually still use a map, just indexed by the (unique) pointer to the object
stored inside wxSharedPtr itself, and not its path. But a vector might be a
more efficient data structure in practice, if we keep it from becoming too big
as we should try to do by triggering artificial port completions when a watch
is removed.

At any rate, at least the crash is fixed for now.

Closes #15995.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-17 23:55:22 +00:00
Paul Cornett
6d9817ea26 Different fix for cursor inheritance and busy cursor/global cursor.
Previous work was not compatible with GTK < 2.18 and did not properly handle some cases
see #15801


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-06 04:43:46 +00:00
Vadim Zeitlin
59f3c91d37 Remove unnecessary CommandStateChangeConstants enum redeclaration.
This declaration conflicted with the one in the latest MinGW-W64 headers and
wasn't needed anyhow as we don't use neither the enum itself nor its members
in our code, so just remove it to fix the build in 64 bits with MinGW-W64 4.8.

This is the backport of r75669 from trunk.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-02 21:47:09 +00:00
Vadim Zeitlin
fd5114e43c Compilation fix after r75765.
Forgot to backport ResetAlpha() addition which is used by the code of r75765.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75772 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-02 01:46:39 +00:00
Vadim Zeitlin
374c63b04b Restore wxBusyCursor::Get{Story,Busy}Cursor() in wxGTK.
Even if these methods are completely useless, we still need to keep them in
wxGTK 3.0 for ABI compatibility.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-02 01:16:01 +00:00
Vadim Zeitlin
9ce54f4fea Fix alpha channel values when using wxGCDC with wxMemoryDC in wxMSW.
Ensure that 32bpp bitmaps selected in wxMemoryDC use DIB for their internal
representation as GDI+ functions don't seem to work correctly with DDBs with
alpha channel.

Closes #13328.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-02 01:15:27 +00:00
Vadim Zeitlin
60d87bbc65 Disable the use of compiler TLS by default under Windows.
While compiler TLS support is simpler to use and much faster than using our
own Win32 API-based TLS implementation, it results in difficult to debug
crashes when used inside a dynamically loaded DLL under Windows XP, so disable
it by default to be safe.

Closes #13116.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-02 01:15:21 +00:00
Vadim Zeitlin
33ae7987ab Move wxCHECK_MINGW32_VERSION() declaration to wx/msw/gccpriv.h.
Unfortunately we can't keep it in wx/compiler.h which is included too early,
before UNICODE macro is defined, and we can't define it before including
wx/setup.h which itself must be included after wx/compiler.h.

So move it to wx/msw/gccpriv.h which is not a great solution, as the best
would be to get rid of this gcc-specific file completely, but at least should
make everything build again and ensure that _mingw.h is included after UNICODE
definition.

Closes #15798.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-02 01:15:13 +00:00
Paul Cornett
11cecbbf92 fix running with GTK < 2.18 when built with later GTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-01 20:05:43 +00:00
Vadim Zeitlin
9093f22cdf Recompute the tooltip width when changing its text in wxMSW.
This avoids unnecessarily wrapping the tooltips if they are set to a longer
string than their initial value later.

Closes #4685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-01 18:22:39 +00:00
Tim Kosse
3e9e82acae Add Kabyle language, as rare language it uses a three-letter code as per ISO 639-2.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-01 10:39:32 +00:00
Vadim Zeitlin
58ead3e70f Avoid asserts in wxGTK when wxMDIChildFrame::SetSize() is called.
SetSize() doesn't do anything for MDI children in wxGTK and other ports using
TDI version of MDI, but it shouldn't result in an assert from
wxTLW::DoMoveWindow() neither, so override DoMoveWindow() in wxTDIChildFrame
to avoid it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-03 14:40:26 +00:00
Václav Slavík
973c978da1 wxOSX Retina fixes: size wxStaticBitmap and wxBitmapButton properly.
The size is expressed in logical coordinates and needs to use bitmap's
scaled size, otherwise it would appear twice as large in both
dimensions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-04 14:32:43 +00:00
Vadim Zeitlin
6c3e363cb0 Work around wrong vsscanf() declaration under HP-UX.
Under this system vsscanf() is declared as taking a non-const char* as first
argument which prevented our code using it from compiling. Wrap it in
wxCRT_VsscanfA() adding the necessary const_cast<> to fix this.

Closes #15638.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-03 13:36:23 +00:00
Vadim Zeitlin
e39fa49d7e Fix wxCHECK_MINGW32_VERSION() definition.
Include _mingw.h before testing for __MINGW32_MAJOR_VERSION as it's only
defined in that header.

Closes #15696.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-27 16:12:31 +00:00
Stefan Csomor
4f10f41433 backporting r75289
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-25 14:21:12 +00:00
Vadim Zeitlin
5e97ee41d7 Update version to 3.0.1.
And regenerate everything.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-21 13:49:53 +00:00
Václav Slavík
f53c2ae044 Override ClearColumns() in wxDataViewListCtrl.
Without this, the associated store's columns would be out of sync,
causing asserts next time a column is appended.

Fixes #14952.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-21 13:11:35 +00:00
Vadim Zeitlin
376c9e2181 Don't allocate way too much memory in wxVector::reserve().
We multiplied the number of items by the size of each element twice, once in
wxVector::reserve() itself and once in Ops::Realloc() it called, so we
allocated much more memory than actually needed.

Fix this by passing the number of elements to Ops::Realloc().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-19 13:12:52 +00:00
Václav Slavík
857281b6b9 Put Services submenu into the Apple menu on OS X.
Native applications have a Services submenu in the apple menu.  wx
applications didn't until now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-17 18:02:13 +00:00
Václav Slavík
6027243d2d Add wxMenuBar::OSXGetAppleMenu().
Native OS X apps sometimes have certain app-wide comments in the
Apple/app menu ("Check for Updates" is a typical example).  Make it
possible to write well-behaved OS X apps by exposing this menu to user
code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-17 18:02:10 +00:00
Vadim Zeitlin
cc1b3709db Allow changing the colour of wxInfoBarGeneric text.
Override SetForegroundColour() to forward it to the text control.

See #15671.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 23:41:06 +00:00
Vadim Zeitlin
3b1fb62976 Define SIZEOF_LONG_LONG for Windows.
This is important not only for consistency with the other platforms but also
because without SIZEOF_LONG_LONG being defined, "%lu" format specifier can't
be used with size_t values under Win64, as Arg_Size_t is not defined correctly
there if SIZEOF_LONG_LONG is unknown.

Closes #15670.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 23:40:56 +00:00
Vadim Zeitlin
8626e30a2b Update the version in wx/version.h and add an item for it to the docs.
Mention the need to udpate this file in the release checklist.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-11 13:10:36 +00:00
Paul Cornett
162f04d775 use G_VALUE_INIT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:13:27 +00:00
Dimitri Schoolwerth
d3c0ffdf91 spelling and styling fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 13:45:03 +00:00
Vadim Zeitlin
27d1d8060d Clarify the current OSXIsGUIApplication() status in comments.
Mention that it doesn't work yet in 3.0 branch.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 13:37:47 +00:00
Stefan Csomor
29f73fbd10 preparing fix for non-bundled osx apps, see #15613 with fix on trunk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75143 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 07:27:06 +00:00
Vadim Zeitlin
7f0b8fe0db Fix behaviour of wxComboBox using ID=1000 in wxMSW.
If a wxComboBox was created with ID=1000, clicking in its drop down didn't
work.

It turns out that the native combobox control always creates its dropdown
listbox with the ID of 1000 and that when we were getting LBN_SELCHANGE from
it we mishandled this message because our code mistakenly believed that all
messages from the ID of the control itself were, in fact, coming from this
control, which wasn't the case here.

Fix this by adding a special check for this case in wxComboBox. Also
virtualize the dynamic cast which was done in wxWindow::FindItem() as this
makes the code simpler and allows to get rid of __WXUNIVERSAL__ #ifdef as
well.

Closes #15647.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-06 16:59:41 +00:00
Vadim Zeitlin
768670dffe Fix wxOleConvertVariantFlags mentions in the documentation.
In some case wxConvertVariantToOleFlags was used instead.

Closes #15641.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@75127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-05 13:39:48 +00:00