Commit Graph

1345 Commits

Author SHA1 Message Date
Vadim Zeitlin
1afe8c8307 rename wxDECLARE_LOCAL_EVENT to just wxDECLARE_EVENT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-07 15:29:29 +00:00
Vadim Zeitlin
f662a526eb compilation fix for template Connect()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-02 21:40:53 +00:00
Václav Slavík
3f8cdda485 don't include private headers from wx/unix/evtloop.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58542 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-31 10:58:10 +00:00
Václav Slavík
fada8bef05 handle EINTR when reading data from the wakeup pipe
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-30 14:56:08 +00:00
Vadim Zeitlin
f7d8cefd72 notify the timers outside of loop over m_timers to avoid crashes if a timer event hanlder modifies the timers list (#10094)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 14:21:23 +00:00
Francesco Montorsi
004867dbc5 Change in wxWindow the access specifier of the wxEvtHandler event processing and queuing functions
from public to protected. Adapt wxWidgets code and wxWidgets samples to always use wxWindow::GetEventHandler()
when calling such functions on a wxWindow rather than directly using wxWindow::ProcessEvent, etc.
This enables correct event dispatching to the event handlers which have been pushed (with PushEventHandler) on the 
windows.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 11:58:39 +00:00
Robert Roebling
98359ac7b5 Pseudo-sort MIME types (all application/xxx at the end) so that other types are found first
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-24 14:10:55 +00:00
Robert Roebling
ded5dd7689 Add comment explaining why we filter out application/x-blah-app like entries from the MIME db
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-24 00:06:18 +00:00
Robert Roebling
e675d6d86e Only use text/xxx, skip application/xxx in MIME database
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-23 22:50:12 +00:00
Vadim Zeitlin
a7132f4b4b no changes, just added a clarifying comment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 16:28:18 +00:00
Vadim Zeitlin
fa00c4e3ba return true from HasPending() if we have at least 1 event, not exactly 1 (closes #10397)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:55 +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
Jouk Jansen
9bc0aaae72 Avoid warning on OpenVMS system
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-13 12:48:58 +00:00
Francesco Montorsi
54e757fc96 ensure correct linking of the socket manager initializer for static builds of wxWidgets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 23:14:17 +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
Francesco Montorsi
50dd85fa01 build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-09 13:24:26 +00:00
Francesco Montorsi
7e86b10b7b move wxLaunch* code in utilsx11.cpp as utilsunx.cpp is not compiled for wxCore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-09 11:55:12 +00:00
Francesco Montorsi
50a2e26fd7 Fix wxLaunchDefaultBrowser on wxMSW for local files/directories: the bug could be reproduced using "Open screenshots folder" menu item in screenshotgen application.
Move platform-specific code in platform-specific utils source files.
Perform safer URL scheme check.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-09 10:36:59 +00:00
Jouk Jansen
f96a610d31 Update OpenVMS compile support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-07 22:02:50 +00:00
Francesco Montorsi
a51e601e17 s/wxGetTempFileName/wxFileName::CreateTempFileName
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57869 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-07 01:01:35 +00:00
Vadim Zeitlin
a12698abb7 added wxFDIODispatcher::HasPending() and implemented correctly wxConsoleEventLoop::Pending() using it to fix the pending events processing in console event loop based programs; also changed wxFDIODispatcher::Dispatch() return type/value to be able to indicate the errors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-03 01:21:24 +00:00
Vadim Zeitlin
e169ac8108 properly restart epoll_wait() if it got interrupted by a signal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-03 00:11:28 +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
df21920b80 disable the events when we get a notification about socket being ready for IO and reenable them later after performing the IO in the Unix version to avoid continuous flood of ready notifications
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-02 21:53:30 +00:00
Vadim Zeitlin
c9bccf239c replaced unweildy GAddress functions with wxSockAddressImpl class, similarly to GSocket -> wxSocketImpl transition; share more code between IPv4 and IPv6 branches
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-29 14:35:48 +00:00
Vadim Zeitlin
14372de82e move Read/Write() to common code, there was almost nothing platform-specific in it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 22:49:46 +00:00
Vadim Zeitlin
62088a3c3b wxSocketImpl::Shutdown() doesn't need to be virtual, its implementation can the same in Unix and Win32 versions (events are already disabled by Close() so there is no need to do it again explicitly under Unix)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 22:03:34 +00:00
Vadim Zeitlin
7d66cdccd0 don't remove/add back the socket to the list of inputs monitored by the event loop all the time but just leave it there until the socket is destroyed; this should be beneficial from performance point of view (although hard to measure) and also makes the code simpler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 21:56:05 +00:00
Vadim Zeitlin
5e9238f9c6 remove the badle defined and apparently unnecessary wxSocketImpl::m_detected field
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 21:48:42 +00:00
Vadim Zeitlin
42dfe2b259 map EAGAIN to wxSOCKET_WOULDBLOCK too as tit has this meaning for read() (even though it doesn't have it for connect())
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 18:01:59 +00:00
Vadim Zeitlin
2b036c4b23 our sockets are always non-blocking anyhow so throw away all the code dealing with checking if they're blocking; also merge Unix/Win32 versions of connect() and accept() handling as they were almost identical except for the different checking of the return value which was factored out into a platform-specific GetLastError() function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 17:15:22 +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
aa8cbe0b64 return true if we did anything in NotifyExpired()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 22:27:02 +00:00
Vadim Zeitlin
22185a1f15 remove m_use_events from Unix wxSocket implementation, we always need asynchronous socket notifications now (and this was always the case under Windows anyhow), even if we don't always generate wx events corresponding to them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 20:20:46 +00:00
Vadim Zeitlin
c6b1063250 refactor Input/Output_Timeout: don't duplicate the same code in MSW/Unix code and also don't duplicate it for input and output, one function is enough for both
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57558 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-25 20:27:35 +00:00
Vadim Zeitlin
07792edb2e use void pointers, not char ones, in socket IO functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-25 18:29:08 +00:00
Vadim Zeitlin
6ecc02f354 fix/suppress warning about hiding base class Load(wxURI,wxURI) overload
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-25 12:41:01 +00:00
Vadim Zeitlin
5ddfa0748f don't close all unused descriptors in the child, this seems unnecessary and breaks some (admittedly buggy) children (e.g. xboard)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-14 00:10:07 +00:00
Jouk Jansen
17dd542b49 Update OpenVMS compile support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-02 15:39:14 +00:00
Vadim Zeitlin
e408bf5257 add safe wxStrlcpy() function and replaced all wxStrncpy() calls by it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 14:41:02 +00:00
Vadim Zeitlin
54cb21d692 remove wxSocketManager::CreateSocket() function, we don't need to have different wxSocketImpl implementation for the same platform, all the differences between console and GUI applications are abstracted by wxSocketManager::Install/Uninstall_Callback() methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 15:06:50 +00:00
Vadim Zeitlin
a9d859df6f make wxSocketImplUnix inherit from wxFDIOHandler as they're used for almost the same purpose; this removes the need for the bridge wxSocketOHandler class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56998 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 14:39:49 +00:00
Vadim Zeitlin
9123889f20 no real changes, just moved wxSocketImplUnix ctor inline
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 13:43:41 +00:00
Vadim Zeitlin
86c5b12b21 also rename gsocketiohandler.* to socketiohandler.* and move it to wxNet where it belongs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 13:37:19 +00:00
Vadim Zeitlin
6091364135 rename various gsock* files to sock* (except for MSW where this will be done later)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 13:04:47 +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
04889c59c6 move wx/gsocket.h to wx/private/gsocket.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-26 12:21:56 +00:00
Vadim Zeitlin
f0fbbe2364 trying to resolve GSocketManager API mess: the meaning of Install/Uninstall_Callback() and Enable/Disable_Events() has diverged in different ports and didn't make any sense any more; merge them in a single function (with still differing semantics though); also added Close_Socket()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-25 13:33:07 +00:00
Vadim Zeitlin
87c0312a66 use struct timeval and not a long to store socket timeout under Unix too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 13:39:12 +00:00
Vadim Zeitlin
ebf94940c4 remove last traces of __GSOCKET_STANDALONE__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 13:32:48 +00:00