launch_daemon: Fixed preregister consequences.
* Since the last change, the user launch_daemon would talk to the registrar again. * However, this also caused BRoster::Launch() to preregister the app, which messed up our preallocated port. * BRoster::Private::Launch() now allows to get the port that the registrar created in such a case, and the launch_daemon will now just use that one as default port. * This lets us talk to the Deskbar again, and should fix #12455, as well as #12454 (again).
This commit is contained in:
@@ -161,7 +161,8 @@ private:
|
||||
thread_id thread) const;
|
||||
|
||||
status_t _SetThreadAndTeam(uint32 entryToken,
|
||||
thread_id thread, team_id team) const;
|
||||
thread_id thread, team_id team,
|
||||
port_id* _port) const;
|
||||
|
||||
status_t _CompleteRegistration(team_id team,
|
||||
thread_id thread, port_id port) const;
|
||||
@@ -183,8 +184,8 @@ private:
|
||||
const BList* messageList, int argc,
|
||||
const char* const* args,
|
||||
const char** environment,
|
||||
team_id* appTeam,
|
||||
thread_id* appThread,
|
||||
team_id* _appTeam, thread_id* _appThread,
|
||||
port_id* _appPort, uint32* _appToken,
|
||||
bool launchSuspended) const;
|
||||
|
||||
status_t _UpdateActiveApp(team_id team) const;
|
||||
|
||||
@@ -31,9 +31,11 @@ class BRoster::Private {
|
||||
status_t Launch(const char* mimeType, const entry_ref* ref,
|
||||
const BList* messageList, int argc, const char* const* args,
|
||||
const char** environment, team_id* appTeam,
|
||||
thread_id* appThread, bool launchSuspended)
|
||||
thread_id* appThread, port_id* appPort, uint32* appToken,
|
||||
bool launchSuspended)
|
||||
{ return fRoster->_LaunchApp(mimeType, ref, messageList, argc,
|
||||
args, environment, appTeam, appThread, launchSuspended); }
|
||||
args, environment, appTeam, appThread, appPort, appToken,
|
||||
launchSuspended); }
|
||||
|
||||
status_t ShutDown(bool reboot, bool confirm, bool synchronous)
|
||||
{ return fRoster->_ShutDown(reboot, confirm, synchronous); }
|
||||
|
||||
Reference in New Issue
Block a user