Added BHandler tokens to app_server communications setup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2947 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
e26cbbcf17
commit
c503a7bc9c
|
@ -758,6 +758,7 @@ void BApplication::InitData(const char* signature, status_t* error)
|
||||||
PortLink *link=new PortLink(fServerFrom);
|
PortLink *link=new PortLink(fServerFrom);
|
||||||
link->SetOpCode(AS_CREATE_APP);
|
link->SetOpCode(AS_CREATE_APP);
|
||||||
link->Attach((int32)fServerTo);
|
link->Attach((int32)fServerTo);
|
||||||
|
link->Attach(_get_object_token_(this));
|
||||||
link->Attach((char*)signature,strlen(signature));
|
link->Attach((char*)signature,strlen(signature));
|
||||||
status_t replyerr=link->FlushWithReply(&replydata);
|
status_t replyerr=link->FlushWithReply(&replydata);
|
||||||
if(replyerr==B_OK)
|
if(replyerr==B_OK)
|
||||||
|
|
|
@ -138,7 +138,7 @@ BWindow::BWindow(BRect frame,
|
||||||
//debugger("You need a valid BApplication object before interacting with the app_server");
|
//debugger("You need a valid BApplication object before interacting with the app_server");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
fTitle=NULL;
|
||||||
InitData( frame, title, look, feel, flags, workspace );
|
InitData( frame, title, look, feel, flags, workspace );
|
||||||
|
|
||||||
receive_port = create_port( B_LOOPER_PORT_DEFAULT_CAPACITY ,
|
receive_port = create_port( B_LOOPER_PORT_DEFAULT_CAPACITY ,
|
||||||
|
@ -150,14 +150,14 @@ BWindow::BWindow(BRect frame,
|
||||||
|
|
||||||
|
|
||||||
// let app_server to know that a window has been created.
|
// let app_server to know that a window has been created.
|
||||||
serverLink = new PortLink(be_app->fServerTo);
|
serverLink = new PortLink(be_app->fServerTo);
|
||||||
|
|
||||||
serverLink->SetOpCode(AS_CREATE_WINDOW);
|
serverLink->SetOpCode(AS_CREATE_WINDOW);
|
||||||
serverLink->Attach(fFrame);
|
serverLink->Attach(fFrame);
|
||||||
serverLink->Attach((int32)WindowLookToInteger(fLook));
|
serverLink->Attach((int32)WindowLookToInteger(fLook));
|
||||||
serverLink->Attach((int32)WindowFeelToInteger(fFeel));
|
serverLink->Attach((int32)WindowFeelToInteger(fFeel));
|
||||||
serverLink->Attach((int32)fFlags);
|
serverLink->Attach((int32)fFlags);
|
||||||
serverLink->Attach((int32)workspace);
|
serverLink->Attach((int32)workspace);
|
||||||
|
serverLink->Attach(_get_object_token_(this));
|
||||||
serverLink->Attach(&receive_port,sizeof(port_id));
|
serverLink->Attach(&receive_port,sizeof(port_id));
|
||||||
// We add one so that the string will end up NULL-terminated.
|
// We add one so that the string will end up NULL-terminated.
|
||||||
serverLink->Attach( (char*)title, strlen(title)+1 );
|
serverLink->Attach( (char*)title, strlen(title)+1 );
|
||||||
|
@ -1850,7 +1850,18 @@ void BWindow::InitData( BRect frame,
|
||||||
uint32 workspace){
|
uint32 workspace){
|
||||||
|
|
||||||
fFrame = frame;
|
fFrame = frame;
|
||||||
strcpy( fTitle, title );
|
|
||||||
|
if(fTitle)
|
||||||
|
{
|
||||||
|
delete fTitle;
|
||||||
|
fTitle=NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(title)
|
||||||
|
{
|
||||||
|
fTitle=new char[strlen(title)];
|
||||||
|
strcpy( fTitle, title );
|
||||||
|
}
|
||||||
fFeel = feel;
|
fFeel = feel;
|
||||||
fLook = look;
|
fLook = look;
|
||||||
fFlags = flags;
|
fFlags = flags;
|
||||||
|
|
Loading…
Reference in New Issue