Define wxSOCKET_XXX flags as wxSOCKET_XXX_READ|wxSOCKET_XXX_WRITE.

The recently introduced (in r72591) wxSOCKET_{WAITALL,NOWAIT}_{READ,WRITE}
flags weere for some reason completely different and unrelated to the existing
bidirectional wxSOCKET_{WAITALL,NOWAIT} ones. Change this by defining the
bidirectional version simply as the sum of the two others. This makes much
more sense than testing for either wxSOCKET_XXX or wxSOCKET_XXX_READ or
wxSOCKET_XXX_WRITE being specified.

And it also fixes an assert in wxSocketWaitModeChanger where a sanity check
failed when this class was used with wxSOCKET_WAITALL|wxSOCKET_WAITALL_READ.

See #14506.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-10-31 00:17:17 +00:00
parent 03e8dc0e40
commit d8986023a3
2 changed files with 22 additions and 20 deletions

View File

@@ -71,17 +71,17 @@ enum wxSocketError
// socket options/flags bit masks
enum
{
wxSOCKET_NONE = 0,
wxSOCKET_NOWAIT = 1,
wxSOCKET_WAITALL = 2,
wxSOCKET_BLOCK = 4,
wxSOCKET_REUSEADDR = 8,
wxSOCKET_BROADCAST = 16,
wxSOCKET_NOBIND = 32,
wxSOCKET_NOWAIT_READ = 64,
wxSOCKET_WAITALL_READ = 128,
wxSOCKET_NOWAIT_WRITE = 256,
wxSOCKET_WAITALL_WRITE = 512
wxSOCKET_NONE = 0x0000,
wxSOCKET_NOWAIT_READ = 0x0001,
wxSOCKET_NOWAIT_WRITE = 0x0002,
wxSOCKET_NOWAIT = wxSOCKET_NOWAIT_READ | wxSOCKET_NOWAIT_WRITE,
wxSOCKET_WAITALL_READ = 0x0004,
wxSOCKET_WAITALL_WRITE = 0x0008,
wxSOCKET_WAITALL = wxSOCKET_WAITALL_READ | wxSOCKET_WAITALL_WRITE,
wxSOCKET_BLOCK = 0x0010,
wxSOCKET_REUSEADDR = 0x0020,
wxSOCKET_BROADCAST = 0x0040,
wxSOCKET_NOBIND = 0x0080
};
typedef int wxSocketFlags;