Commit Graph

145 Commits

Author SHA1 Message Date
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Vadim Zeitlin
5276b0a53c Use wxDELETE() and wxDELETEA() when possible.
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.

Closes #9685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 18:18:23 +00:00
Vadim Zeitlin
4d1ea475c8 Add a system option to exit immediately on assert failure.
This option will allow to test for absence of asserts in wxWidgets samples in
the future.

Closes #10697.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64652 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 17:43:21 +00:00
Vadim Zeitlin
021efd6510 Avoid outputting the assert message twice in non-GUI code.
As we always log the assert message in ::ShowAssertDialog() itself there is no
need to log it again in wxAppTraitsBase::ShowAssertDialog().

Also show the "please wait while generating stack trace information" in
wxAppTraitsBase::GetAssertStackTrace() itself instead of doing it in both
places which call it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-09 14:59:26 +00:00
Vadim Zeitlin
2d8e0096cd Better handling for asserts in non-main threads.
Don't call wxTrap() when an assert in a non-main thread fails. As asserts are
now always enabled by default, this is not a good idea. Instead just show the
full details about the assert failure using wxMessageOutputDebug under the
platforms without MT-safe message box function (i.e. everything but MSW
currently).

Add a possibility to test an assert happening in non-main thread to the except
sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-09 14:59:08 +00:00
Vadim Zeitlin
89fb9e528f Reset wxTheApp when starting to destroy the object it points to.
Using wxTheApp when the corresponding object is already half destroyed can't
be a good idea so reset it to NULL as soon as possible.

Closes #11525.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-07 17:03:25 +00:00
Vadim Zeitlin
0f08aa4432 Change return type of wxList::Member() to bool.
It used to return a pointer in wxUSE_STL==0 build and an object in
wxUSE_STL==1 one making checking its return value difficult without provoking
warnings from either MSVC or g++ (see #11038).

Also, all the other occurrences of Member() already returned bool, including
the one in wxStringList so changing it to return bool in wxList itself is more
consistent.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-18 17:10:58 +00:00
Vadim Zeitlin
7d9550df50 Define wxDEBUG_LEVEL in both debug and release builds as 1.
By default include assertions and debug logging in both debug and release
builds but disable them in application release builds (when NDEBUG is
defined).

Also update (more accurately, replace) debugging overview.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-12 11:28:52 +00:00
Vadim Zeitlin
f432e6777d Tweak the default wxApp::GetAppDisplayName() logic.
Don't capitalize the app name if it had been explicitly set with SetAppName()
as this can result in unexpectedly wrong value. Do capitalize the program name
which is used as app name by default and don't store the program name in
m_appName to be able to distinguish between the two cases.

Closes #11165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-03 11:38:31 +00:00
Vadim Zeitlin
0055cc0e4a Flush log events in console applications as well.
Move wxLog::FlushActive() call from wxAppBase::ProcessIdle() to
wxAppConsoleBase::ProcessIdle().

Now that log messages from background threads are queued until the main thread
log target is flushed, we need to call wxLog::FlushActive() periodically to
see them at all, see #11115.

Besides, even though the default log target in console applications outputs
the messages immediately without queuing them, it is quite possible to use a
non-default target which does require flushing so this change also fixes a
potential bug with non-default log targets.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-19 23:51:24 +00:00
Vadim Zeitlin
7705c44f29 Fix harmless MSVC warning.
It complained about converting pointer to bool implicitly in wxAppConsoleBase::IsScheduledForDestruction().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-25 17:09:37 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
3185abc278 Support delayed destruction in console applications too.\n\nThis only works if there is a running event loop but if there is one, we can have the same kind of problems with non-GUI objects such as sockets in console applications as we have with windows in GUI ones, so we must support this (see #10989).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-21 14:16:44 +00:00
Vadim Zeitlin
26bacb82ff Dispatch pending events without waiting for idle time (closes #10994).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-20 12:14:42 +00:00
Vadim Zeitlin
a758f601dd No real changes, just refactor wxEventLoop/wxApp::ProcessIdle().
Old code called wxApp::ProcessIdle() from wxEventLoopManualRun::Run() which called wxEventLoop::ProcessIdle() which called wxApp methods from it. In the new version wxEventLoopManualRun::Run() calls wxEventLoopManualRun::ProcessIdle() which calls wxApp::ProcessIdle() which calls other wxApp methods which seems to make more sense and also allows overriding ProcessIdle() in either wxEventLoopManual or wxApp-derived classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-17 16:52:43 +00:00
Vadim Zeitlin
53cda845db use the currently active event loop instead of the main one in WakeUpIdle()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-17 14:33:39 +00:00
Vadim Zeitlin
890d70ebea improvements to wxEventFunctor classes; use wxHAS_EVENT_BIND instead of wxEVENTS_COMPATIBILITY_2_8 (see #10653)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-02 12:52:54 +00:00
Vadim Zeitlin
657a8a3598 first round of debug/release merge: introduce wxDEBUG_LEVEL, for now defined as 1 if __WXDEBUG__ is defined, i.e. no real changes; don't use __WXDEBUG__ in the headers to keep debug and release builds ABI-compatible; add functions to customize or disable asserts handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 23:36:37 +00:00
Francesco Montorsi
cae9e7b169 add wxAppConsoleBase::DeletePendingEvents and wxEvtHandler::DeletePendingEvents.
Fix wxAppConsoleBase::Suspend/ResumeProcessingOfPendingEvents: locking the mutex does not prevent wxAppConsoleBase::ProcessPendingEvents from running if the mutex was locked from the main thread!

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-08 12:58:24 +00:00
Francesco Montorsi
8e40ed8535 move pending event processing back to wxApp (these methods were moved into wxEventLoopBase during YieldFor() refactoring - see #10320): we need to be able to queue events even when there's no event loop running (e.g. wxApp::OnInit)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-02 20:45:22 +00:00
Francesco Montorsi
8b93348e82 fix a few typos
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-21 15:40:15 +00:00
Francesco Montorsi
dde19c2180 second part of #10320: move wxApp event handling functions to wxEventLoopBase (in particular move Yield() functions); add backward compatible redirections to wxApp; update docs; remove global lists wxPendingEvents and wxPendingEventsLocker
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-15 14:25:08 +00:00
Francesco Montorsi
d48b06bd90 check in the 'selective yield' patch (see ticket #10320):
- implements YieldFor() with event filtering for wxMSW and wxGTK,
  adds TODO markers in other ports;
- replaces wxYield() in GTK's clipboard code with a wxTheApp->YieldFor() call, thus fixing possible reentrancies 
(and modifies clipboard sample to test synchronous IsSupported calls)
- replaces wxYieldIfNeeded() calls in wxProgressDialog with wxTheApp->YieldFor() calls, so that it processes only 
UI/user-input events, thus fixing the race condition visible in the "thread" sample
- documents the new functions


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 17:42:28 +00:00
Vadim Zeitlin
664e13143e renamed wx/ptr_shrd.h to wx/sharedptr.h; split wx/ptr_scpd.h in wx/scopedptr.h and wx/scopedarray.h; extracted common parts into new wx/checkeddelete.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-03 12:01:46 +00:00
Vadim Zeitlin
d3b9f782ef don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:27 +00:00
Vadim Zeitlin
3c77890141 add more flexible and safer template Connect() overloads (#10000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 14:26:13 +00:00
Vadim Zeitlin
14eb37a05e call ProcessPendingEvents() from wxAppConsoleBase::ProcessIdle() too, not only from wxAppBase::ProcessIdle(); do not call it from wxConsoleEventLoop::Dispatch() as this results in unwanted reentrancies in the socket code when using it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-02 22:18:10 +00:00
Francesco Montorsi
079f4130b8 no real change: rename wxPendingEvents to wxHandlersWithPendingEvents since its current name is misleading; that's not a list of events but a list of event handlers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-28 19:30:43 +00:00
Vadim Zeitlin
51fe4b60ab Streamline wxSocket code: wxSocketBase now uses wxSocketImpl (previously known
as GSocket) which is a base class with various wxSocketImplXXX implementations
provided by different wxSocketManagers.

Share more code between ports (still not finished).

Refactor some code inside wxSocketImpl itself to be less redundant and fixed a
couple of minor bugs in the process.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 12:47:07 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Stefan Csomor
26eef30437 OSX regrouping
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 19:47:40 +00:00
Vadim Zeitlin
96b2cbe8b3 use (new) safer GetTraitsIfExists() in wxMutexGuiEnter/Leave() to avoid crashing on exit of wxGTK1 applications putting anything on clipboard (and maybe other cases)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-21 01:35:00 +00:00
Vadim Zeitlin
a7d980f639 restore setting m_appName broken by recent change (fixes bug 1921954)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-21 16:21:51 +00:00
Vadim Zeitlin
4f6b94a33a fix handling of native toolkit command line options broken by wxCmdLineArgsArray change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-10 19:40:21 +00:00
Vadim Zeitlin
9b4da62701 PalmOS compilation fixes (wx-trunk-out.diff part of patch 1894861)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-02 00:43:06 +00:00
Vadim Zeitlin
000eea7a2e reset s_bInAssert in wxDoOnAssert() in an exception-safe way (replaces patch 1900613)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52079 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-25 02:51:44 +00:00
Vadim Zeitlin
cd844951fa don't remove handlers from wxPendingEvents list, they now do it themselves when they don't have any more events or are destroyed (should have been part of r51021)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51022 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-05 17:37:17 +00:00
Vadim Zeitlin
2804f77d88 more socket cleanup to allow using wxSocket from both wxBase and wxCore (replaces patch 1756260)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-19 16:45:08 +00:00
Paul Cornett
d254213eb2 add MutexGuiEnter/Leave to wxAppTraits, integrate native GTK+ GUI locking
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-17 05:37:00 +00:00
Paul Cornett
204abcd474 remove unneccessary header dependencies on wx/thread.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 02:55:14 +00:00
Stefan Csomor
0ad76eea22 cleanup mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-22 14:21:36 +00:00
Vadim Zeitlin
d154ab3d29 replace changes of r49890 by defining more compatibility operators in wxCmdLineArgsArray as we're interested in preserving as much compatibility with the existing code outside of the library as possible; also DLL-export the class to avoid VC6 DLL build warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-13 13:27:30 +00:00
Julian Smart
0b44214c97 Resolve '&&' ambiguity
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-13 10:57:49 +00:00
Julian Smart
717de46036 Resolve '&&' ambiguity (VC++ 6)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-13 10:55:42 +00:00
Vadim Zeitlin
0d5ab92f84 reverted the change of wxCmdLineEntryDesc fields to wxString as this doesn't compile with VC6; make them const char * instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-14 21:05:12 +00:00
Vadim Zeitlin
e6d4038a8b don't use _T() inside wxGetTranslation() and related macros (wxTRANSLATE, _, ...) to preserve compatibility with the old ASCII build (even at the expense with the Unicode build compatibility)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-07 21:47:45 +00:00
Paul Cornett
6ef1b2a1c1 add missing static
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-29 17:08:58 +00:00
Vadim Zeitlin
d6f2a8911e many compilation fixes for WinCE using VC8 (it now build, although still doesn't work)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-27 16:34:24 +00:00
Paul Cornett
a1312bc8b2 fix HasPendingEvents() to only return true if there are actually events pending
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-14 18:18:22 +00:00
Václav Slavík
e0a050e347 more changes to make wx compile without implicit wxString->char* conversion (for STL build)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-20 07:44:45 +00:00