Commit Graph

33 Commits

Author SHA1 Message Date
Vadim Zeitlin
a25b76f5f9 Use CFSocket instead of CFFileDescriptor in wxCFEventLoopSource.
Use OS X socket APIs for monitoring file descriptors. They are more flexible
than CFFileDescriptor functions and can be used with any descriptors, not
necessarily the socket ones.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:29:05 +00:00
Vadim Zeitlin
71e9885be0 Make wxEventLoop::AddSourceForFD() static.
Any event sources should be registered with all the event loops, including the
ones that will be started in the future, and not only the current (and
potentially not even existing yet) one. So make AddSourceForFD() method static.

To still allow it to do different things in console and GUI applications, as
it must, virtualize it via the new wxEventLoopSourcesManager class which has
different implementations in the two cases, returned via wxAppTraits as usual.

Notice that this required moving the implementation of this method from
src/osx/core/evtloop_cf.cpp to src/osx/core/utilsexc_cf.cpp as the former file
is base-only and didn't have access to wxGUIAppTraits.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:28:42 +00:00
Vadim Zeitlin
d3ad22bdb3 Add wxEventLoop::ScheduleExit().
This method allows to request exiting from the given event loop even if it's
not the currently active one, unlike Exit() which would assert in this case.
With it, it becomes possible to ask the loop to terminate as soon as possible
even if a nested loop is currently running.

See #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:26:13 +00:00
Vadim Zeitlin
c738d187e9 Add wxEventLoopBase::DoRun().
Call it from public Run() after setting the loop as active and resetting
m_shouldExit flag.

No real changes, just cut down on the code duplication among the ports and
make it easier to implement the upcoming changes. see #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:25:23 +00:00
Vadim Zeitlin
8d40c05f41 Add "OSX" prefix to wxCFEventLoop::DoRun() and DoStop() methods.
Just rename these methods to avoid clashes with DoRun() that will be added to
the base class soon, no real changes.

This is done in preparation for improving nested event loops support, see #10258.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-03 00:24:34 +00:00
Stefan Csomor
ea07540202 fixing iPhone build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-19 20:30:54 +00:00
Stefan Csomor
57fe8307ab slight adaption, shorter max wait
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-13 00:19:10 +00:00
Stefan Csomor
d60957aac5 better support for ui action simulation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-11 17:54:07 +00:00
Stefan Csomor
19736e6452 make sure we don't execute pending deletes either when in runModel, otherwise reentrancy problems occur
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-03 14:57:56 +00:00
Vadim Zeitlin
a695613173 Fix compilation of wxOSX event loop without wxUSE_EVENTLOOP_SOURCE.
Closes #14502.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-23 15:03:25 +00:00
Stefan Csomor
c657294b52 better naming wxCFEventLoopPauseIdleEvents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-15 16:24:09 +00:00
Stefan Csomor
4c4cbded1f offer suppression of idle processing (delayed destruction happened too early eg when showing native message boxes)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-15 00:03:51 +00:00
Stefan Csomor
c0b301f4e5 cleanup for 10.5 minimum
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-14 22:29:07 +00:00
Vadim Zeitlin
1dcca9b51e Enable callbacks for wxFileSystemWatcher FD under OS X.
We need to enable callbacks to get them initially, otherwise no events are
ever detected.

Closes #13919.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-03 17:27:17 +00:00
Vadim Zeitlin
6a06eecfb2 Suppress some harmless warnings about unused parameters in wxOSX.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68148 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-04 14:05:14 +00:00
Stefan Csomor
592a3c6eb9 reverting to idle handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-06 21:12:14 +00:00
Stefan Csomor
3cac36541b separating observers for default mode (outer 'normal' loop) and common mode loops, fixes #13208
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-11 06:46:07 +00:00
Vadim Zeitlin
bbacbe3980 Fix crash in wxCFEventLoop::AddSourceForFD().
Don't reset CFFileDescriptorRef before passing it to
CFFileDescriptorCreateRunLoopSource(), this resulted in a crash inside this
function.

Closes #11542.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-09 23:53:28 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Stefan Csomor
a94c4b8529 using non-sleep version for GUI mutex, solves #12411
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-06 13:50:12 +00:00
Stefan Csomor
76435717cf fixes #12258
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-23 06:58:36 +00:00
Stefan Csomor
3bfba421c7 utils_osx isn't part of base but of core, moving wxMacWakeUp to a file that really is in base
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-20 06:09:10 +00:00
Stefan Csomor
58e74b83b1 common wxMacWakeUp code across all platforms
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-19 08:25:48 +00:00
Stefan Csomor
2be05d4525 switching loop mode for idle processing, fixes #11912 (left is a redraw issue, textfield borders are not repainted correctly when enabling)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-07 09:05:26 +00:00
Vadim Zeitlin
de5361faf3 Suppress unused parameter warnings.
observer argument of wxCFEventLoop::ObserverCallBack() and timestampsec one of
wxComboBox::OSXHandleClicked() were unused and generated gcc warnings.

wxComboBox::EnableTextChangedEvents() needs to be implemented but as there is
already a wxFAIL in it an extra warning is not really useful.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-06 18:46:00 +00:00
Stefan Csomor
2439f1d968 fixing multilib build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-03 06:59:33 +00:00
Vadim Zeitlin
976e63a7a8 Fix wxOSX compilation without PCH.
Explicitly include wx/nonownedwnd.h as we use wxNonOwnedWindow in this file.

Closes #11833.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-22 11:40:40 +00:00
Stefan Csomor
9aee121225 adding proper removal of observer for stacked event loops, using cfrunloop for console on osx as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-17 08:05:04 +00:00
Stefan Csomor
80eee8378f streamlining OSX event support third step, using platform specific native run methods for event loops
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-17 07:14:03 +00:00
Stefan Csomor
293a13bad7 streamlining OSX event support second step, moving pending and idle event handling to runloop-observer, see #11805, see #11797
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-15 19:31:57 +00:00
Stefan Csomor
0056673c67 streamlining OSX event support first step, see #11805, see #11797
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-15 15:40:47 +00:00
Vadim Zeitlin
fe5816f08f Compilation fix for PCH-less OS X build after wxFSW merge.
Include wx/log.h explicitly as we use wxLogTrace().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62479 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-22 16:53:57 +00:00
Vadim Zeitlin
5cd9986613 Refactor wxEventLoopSource-related code.
Currently wxEventLoopSource can't be created directly and can only be used to
monitor file descriptors so reduce the API to just wxEventLoop::AddSourceForFD()
and remove AddSource(), RemoveSource() and RemoveAllSources() which couldn't
be implemented for all ports. This makes the code much simpler without any
loss of functionality.

Make wxEventLoopSource responsible for removing itself from the event loop
when it is deleted. This allows to remove IsOk() and Invalidate() methods
making the code simpler and gets rid of various sets/maps which were used
before.

This also allows to support event loop sources in Carbon as well: wxOSX/Carbon
now compiles and works with wxUSE_FSWATCHER==1.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-22 11:36:35 +00:00