summaryrefslogtreecommitdiffstats
path: root/sd
diff options
context:
space:
mode:
authorThorsten Behrens <tbehrens@suse.com>2013-02-19 12:18:12 +0100
committerThorsten Behrens <tbehrens@suse.com>2013-02-19 12:19:11 +0100
commit25f7288ff8ea26e3d3976329d6bbcfe7ca5c5260 (patch)
tree67648bd99d863bd39944f06e9ce0e5d63693d7b0 /sd
parentg_strcmp0 is not in our baseline glib2 (diff)
downloadcore-25f7288ff8ea26e3d3976329d6bbcfe7ca5c5260.tar.gz
core-25f7288ff8ea26e3d3976329d6bbcfe7ca5c5260.zip
Fix crashes in sdremote after suspend/resume cycles.
Change-Id: I0f64820887919386f266290ae8b7c53f8a0a5458
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/remotecontrol/BufferedStreamSocket.cxx6
-rw-r--r--sd/source/ui/remotecontrol/Receiver.cxx3
2 files changed, 5 insertions, 4 deletions
diff --git a/sd/source/ui/remotecontrol/BufferedStreamSocket.cxx b/sd/source/ui/remotecontrol/BufferedStreamSocket.cxx
index 30022d6c526a..50ee73667261 100644
--- a/sd/source/ui/remotecontrol/BufferedStreamSocket.cxx
+++ b/sd/source/ui/remotecontrol/BufferedStreamSocket.cxx
@@ -77,7 +77,7 @@ sal_Int32 BufferedStreamSocket::readLine( OString& aLine )
// Process buffer first incase data already present.
vector<char>::iterator aIt;
if ( (aIt = find( aBuffer.begin(), aBuffer.end(), '\n' ))
- != aBuffer.end() )
+ != aBuffer.end() )
{
sal_uInt64 aLocation = aIt - aBuffer.begin();
@@ -96,9 +96,9 @@ sal_Int32 BufferedStreamSocket::readLine( OString& aLine )
else
aRet = ::recv( mSocket, &aBuffer[aRead], 100, 0 );
- if ( aRet == 0 )
+ if ( aRet <= 0 )
{
- return aRet;
+ return 0;
}
// Prevent buffer from growing massively large.
if ( aRead > MAX_LINE_LENGTH )
diff --git a/sd/source/ui/remotecontrol/Receiver.cxx b/sd/source/ui/remotecontrol/Receiver.cxx
index 572551d9e93e..3ec14de911a8 100644
--- a/sd/source/ui/remotecontrol/Receiver.cxx
+++ b/sd/source/ui/remotecontrol/Receiver.cxx
@@ -52,7 +52,8 @@ void Receiver::Timeout()
{
std::vector< rtl::OString > aCommands( maExecQueue.front() );
maExecQueue.pop_front();
- executeCommand( aCommands );
+ if( !aCommands.empty() )
+ executeCommand( aCommands );
Start();
}
else