--- a/textinput/peninputarc/src/peninputclient/penclientimpl.cpp Tue Feb 02 01:02:04 2010 +0200
+++ b/textinput/peninputarc/src/peninputclient/penclientimpl.cpp Fri Feb 19 23:09:27 2010 +0200
@@ -123,8 +123,11 @@
if(client && client->IsValid())
{
RPeninputServerImpl* server = client->GetSingletonServer();
- TInt err = server->ServerReady() ? KErrNone : KErrLaunchingServer;
- User::RequestComplete(aStatus,err);
+ TInt err = server->ServerReady() ? KErrNone : KErrLaunchingServer;
+ if ( aStatus )
+ {
+ User::RequestComplete( aStatus, err );
+ }
return server;
}
@@ -253,12 +256,13 @@
return KErrNone;
}
}
- else //server alreay there
+ else if ( error == KErrNone )//server alreay there
{
+ iServerReady = ETrue;
+ AddObserver();
+
if(aStatus)
- OnServerStarted(KErrNone);
- else
- AddObserver();
+ User::RequestComplete(iPendingRequest, error);
}
return error;
}
@@ -1527,17 +1531,17 @@
if(KErrNone == aErr)
{
iServerReady = ETrue;
- }
-
- //create session
-
- TInt error = CreateSession( KPeninputServerName,
+
+ //create session
+ aErr = CreateSession( KPeninputServerName,
Version(),
KDefaultMessageSlots,EIpcSession_Sharable);
- if(KErrNone == error)
- AddObserver();
-
+ if(KErrNone == aErr)
+ {
+ AddObserver();
+ }
+ }
User::RequestComplete(iPendingRequest, aErr);
}