Synchronized with trunk

git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1151 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
LaurentGom 2009-06-19 09:36:49 +00:00
commit 5978d015eb
24 changed files with 117 additions and 98 deletions

View file

@ -386,6 +386,14 @@ Http::Response Http::SendRequest(const Http::Request& Req, float Timeout)
Out << ToSend.myBody.size();
ToSend.SetField("Content-Length", Out.str());
}
if ((ToSend.myMethod == Request::Post) && !ToSend.HasField("Content-Type"))
{
ToSend.SetField("Content-Type", "application/x-www-form-urlencoded");
}
if ((ToSend.myMajorVersion * 10 + ToSend.myMinorVersion >= 11) && !ToSend.HasField("Connection"))
{
ToSend.SetField("Connection", "close");
}
// Prepare the response
Response Received;

View file

@ -287,9 +287,12 @@ static GLContext *sharedCtx = nil;
{
assert(myDelegate != NULL);
NSText *field = [[self window] fieldEditor:YES forObject:nil];
[field interpretKeyEvents:[NSArray arrayWithObject:theEvent]];
[field setString:@""];
if (sf::priv::WindowImplCocoa::IsTextEvent((void *)theEvent))
{
NSText *field = [[self window] fieldEditor:YES forObject:nil];
[field interpretKeyEvents:[NSArray arrayWithObject:theEvent]];
[field setString:@""];
}
myDelegate->HandleKeyDown(theEvent);
}

View file

@ -108,6 +108,10 @@ public :
void HandleMouseMove(void *eventRef);
void HandleMouseWheel(void *eventRef);
////////////////////////////////////////////////////////////
/// Return whether 'ev' must be considered as a TextEntered event
////////////////////////////////////////////////////////////
static bool IsTextEvent(void *event);
private :
////////////////////////////////////////////////////////////

View file

@ -511,6 +511,25 @@ void WindowImplCocoa::HandleMouseWheel(void *eventRef)
}
}
////////////////////////////////////////////////////////////
/// Return whether 'ev' must be considered as a TextEntered event
////////////////////////////////////////////////////////////
bool WindowImplCocoa::IsTextEvent(void *eventRef)
{
NSEvent *event = (NSEvent *)eventRef;
bool res = false;
if (event && [event type] == NSKeyDown && [[event characters] length]) {
unichar code = [[event characters] characterAtIndex:0];
// Codes from 0xF700 to 0xF8FF are non text keys (see NSEvent.h)
// 0x35 is the Escape key
if ([event keyCode] != 0x35 && (code < 0xF700 || code > 0xF8FF))
res = true;
}
return res;
}
////////////////////////////////////////////////////////////
/// /see sfWindowImpl::Display
@ -797,25 +816,6 @@ static Key::Code KeyForUnicode(unsigned short uniCode)
}
////////////////////////////////////////////////////////////
/// Return whether 'ev' must be considered as a TextEntered event
////////////////////////////////////////////////////////////
static bool IsTextEvent(NSEvent *event)
{
bool res = false;
if (event && [event type] == NSKeyDown && [[event characters] length]) {
unichar code = [[event characters] characterAtIndex:0];
// Codes from 0xF700 to 0xF8FF are non text keys (see NSEvent.h)
if (code < 0xF700 || code > 0xF8FF)
res = true;
}
return res;
}
} // namespace priv
} // namespace sf