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:
DarkWyrm 2003-03-19 01:11:24 +00:00
parent e26cbbcf17
commit c503a7bc9c
2 changed files with 16 additions and 4 deletions

View File

@ -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)

View File

@ -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 ,
@ -151,13 +151,13 @@ 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;
if(fTitle)
{
delete fTitle;
fTitle=NULL;
}
if(title)
{
fTitle=new char[strlen(title)];
strcpy( fTitle, title ); strcpy( fTitle, title );
}
fFeel = feel; fFeel = feel;
fLook = look; fLook = look;
fFlags = flags; fFlags = flags;