Commit Graph

19 Commits

Author SHA1 Message Date
Vadim Zeitlin
6c40531fb7 Make main thread wake up code more efficient and less error-prone in wxMSW.
Use a kernel event object to signal the thread wake up instead of sending
WM_NULL to one of its windows. This is simpler as we don't need to look for
any windows and doesn't suffer from the problem of overflowing the Windows
message queue if we do it too many times as signalling an already signalled
event simply doesn't do anything.

Closes #9053.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 12:57:08 +00:00
Vadim Zeitlin
f740cc3881 Refactor YieldFor() to avoid code duplication among the ports.
Don't repeat the same code in all the ports, move it to the common base class
and add a new virtual DoYieldFor() for the really port-specific code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 18:58:00 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
e27f554012 Use the same console event loop in wxBase and wxCore in wxMSW.
Refactor the console event loop code into separate files to untangle it from
the GUI version and ensure that it doesn't depend on the GUI at all. It can
now be defined in the base library and simply reused by the core one.

This also makes the console event loop usable for other ports under Windows,
e.g. wxGTK.

Closes #14426.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 23:52:00 +00:00
Vadim Zeitlin
22cb31398e another missing WXDLLIMPEXP to fix DLL build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-26 14:15:20 +00:00
Francesco Montorsi
8bd9fa338e PCH-less build fix by Tim S
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-15 19:34:58 +00:00
Francesco Montorsi
a8519f6507 build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-15 14:54:31 +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
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
Vadim Zeitlin
9af42efda6 added wxEventLoop::DispatchTimeout()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 22:28:34 +00:00
Vadim Zeitlin
61478ea03f added wxUSE_CONSOLE_EVENTLOOP around wxConsoleEventLoop
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-15 19:33:16 +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
Włodzimierz Skiba
cafed23657 Build fix for wxWindowMSW used in header.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36881 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-15 10:13:40 +00:00
Vadim Zeitlin
b80e8ac983 updated to derive from wxEventLoopManual
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-13 01:31:37 +00:00
Vadim Zeitlin
c8026dea6c improved wxMac event loop implementation and refactored the code to share it with wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-12 23:06:26 +00:00
Vadim Zeitlin
77fb1a02aa share wxEventLoop::IsRunning() implementation between all ports; moved wxEventLoopActivator used by it in wx/evtloop.h instead of duplicating it in 3 different .cpp files (and not using it at all in 3 other ones)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-12 16:56:48 +00:00
Włodzimierz Skiba
b4626104e5 wxMSWUniv build fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-18 13:36:31 +00:00
Vadim Zeitlin
a7b7500c4f added SetCriticalWindow() and AllowProcessing(): this allows to freeze all events except those for the specified window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-15 22:57:49 +00:00
Vadim Zeitlin
3754265e32 switched to wxEventLoopBase/wxEventLoop implementation (instead of m_impl based one) for wxMSW; minimal changes for the other ports
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-30 22:54:31 +00:00