Commit Graph

127 Commits

Author SHA1 Message Date
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
Vadim Zeitlin
1663c65500 show the unhandled exceptions in debug build instead of silently eating them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-16 14:20:16 +00:00
Vadim Zeitlin
e0954e729d rename old wxAppConsole to wxAppConsoleBase and wxAppConsoleUnix to wxAppConsole for consistency with wxAppBase/wxApp and to fix the bug 1729377 (crash when using timers under Unix in console app); also #define wxApp as wxAppConsole instead of declaring it as a real class in console build to avoid problems with ODR violation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-04 13:39:23 +00:00
Vadim Zeitlin
aea33a3e85 don't create wxEventLoop in Initialize(), it's too early to do it there -- wait until it's really needed in MainLoop()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46197 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-24 12:28:31 +00:00
Vadim Zeitlin
2ddff00c92 don't define wxEventLoop class differently in GUI and base, this breaks the
ODR and hence results in many problems in practice; instead use wxEventLoopBase
whenever possible and #define wxEventLoop differently in console applications


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-22 02:30:01 +00:00
Vadim Zeitlin
2b232d202a added wOnAssert(..., wxCStrData) overload to fix compilation of code using wxASSERT(s.c_str())
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-22 01:36:24 +00:00
Václav Slavík
fbaf7d4513 added another needed wxOnAssert overload
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-21 18:24:42 +00:00
Václav Slavík
0accd1cfe8 1. make debugging macros compatible with ANSI build even in Unicode build (i.e., no need to use _T() in message strings)
2. save space in binary by using ANSI literals for filenames and expression strings in debug macros


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-21 18:02:57 +00:00
Vadim Zeitlin
c0bfefb6cf enter wxPendingEventLocker critical section in ProcessPendingEvents() (fixes 1720352)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-21 14:05:46 +00:00
Vadim Zeitlin
82a4f054a9 delete m_mainLoop on exit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-18 15:40:10 +00:00
Vadim Zeitlin
8ac09e5213 removed extra semicolons added by last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-15 14:11:09 +00:00
Vadim Zeitlin
b46b1d59d6 implement event loop for console applications (heavily modified patch 1715735)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-14 23:43:39 +00:00
Václav Slavík
0cb7e05cd1 PCH-less compilation fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-27 15:50:07 +00:00
Václav Slavík
cb352236d9 added code for checking if the current locale is UTF-8 at runtime
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-23 20:42:13 +00:00
Václav Slavík
6c4f5ea559 compilation fixes for !wxUSE_INTL case
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-20 13:32:05 +00:00
Vadim Zeitlin
0e5ab03007 include <locale.h> before using setlocale()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-12 12:56:54 +00:00
Vadim Zeitlin
d774f9161c added wxAppTraits::SetLocale() and call it during wxApp initialization in all ports, not just wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-12 01:46:14 +00:00
Vadim Zeitlin
c1dc9f8394 removed WXWIN_COMPATIBILITY_2_4 from common and wxMSW files (patch 1675546)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 11:35:04 +00:00
Robert Roebling
db9febdf41 Actually use new GTK+ native assert dialog.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-24 10:55:26 +00:00