added 1 changeset to branch 'refs/remotes/xyzzy-github/x86_64' old head: 4b8a51c34c81f8623fb5eb99e4be9ad606a56044 new head: e963289800007e623f4a120b27e7bd476230f57f ---------------------------------------------------------------------------- e963289: Added Tracker and Deskbar to x86_64 build. [ Alex Smith <alex@xxxxxxxxxxxxxxxx> ] ---------------------------------------------------------------------------- Commit: e963289800007e623f4a120b27e7bd476230f57f Author: Alex Smith <alex@xxxxxxxxxxxxxxxx> Date: Thu Aug 9 18:36:52 2012 UTC ---------------------------------------------------------------------------- 10 files changed, 82 insertions(+), 40 deletions(-) build/jam/Haiku64Image | 38 ++++++++++++++++++++++++++++- data/system/boot/Bootscript | 3 ++- src/apps/deskbar/BarApp.cpp | 14 +++++------ src/apps/deskbar/BarWindow.cpp | 6 ++++- src/apps/deskbar/ExpandoMenuBar.cpp | 12 ++++----- src/apps/deskbar/ShowHideMenuItem.cpp | 2 +- src/apps/deskbar/StatusView.cpp | 11 +++++---- src/apps/deskbar/Switcher.cpp | 32 ++++++++++++------------ src/apps/deskbar/TeamMenuItem.cpp | 2 +- src/apps/deskbar/WindowMenu.cpp | 2 +- ---------------------------------------------------------------------------- diff --git a/build/jam/Haiku64Image b/build/jam/Haiku64Image index dce304a..0029669 100644 --- a/build/jam/Haiku64Image +++ b/build/jam/Haiku64Image @@ -110,13 +110,49 @@ AddSymlinkToHaikuHybridImage system lib : $(HAIKU_FREETYPE_CURRENT_LINK) AddFilesToHaikuImage system servers : $(SYSTEM_SERVERS) ; # apps -AddFilesToHaikuImage system : runtime_loader ; +AddFilesToHaikuImage system : runtime_loader Deskbar Tracker ; AddFilesToHaikuImage system bin : $(SYSTEM_BIN) consoled ; AddFilesToHaikuImage system apps : $(SYSTEM_APPS) ; AddFilesToHaikuImage system preferences : $(SYSTEM_PREFERENCES) ; AddFilesToHaikuImage system demos : $(SYSTEM_DEMOS) ; +SEARCH on which = [ FDirName $(HAIKU_TOP) data bin ] ; +AddFilesToHaikuImage system bin : which ; +SEARCH on installoptionalpackage = [ FDirName $(HAIKU_TOP) data bin ] ; +AddFilesToHaikuImage system bin : installoptionalpackage ; +SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ; +AddFilesToHaikuImage system bin : install-wifi-firmwares.sh ; + +# Add the files to be used by installoptionalpackage. +AddDirectoryToHaikuImage common data optional-packages ; +local optional-pkg-files = OptionalBuildFeatures OptionalPackageDependencies + OptionalPackages OptionalLibPackages ; +for name in $(optional-pkg-files) { + local file = [ FDirName $(HAIKU_TOP) build jam $(name) ] ; + AddFilesToHaikuImage common data optional-packages : $(file) ; +} +AddInstalledPackagesFileToHaikuImage ; + AddSymlinkToHaikuImage system bin : bash : sh ; +AddSymlinkToHaikuImage system bin : trash : untrash ; + +AddSymlinkToHaikuImage home Desktop : /boot/home : Home ; + +# Mailbox folders and symlink +AddDirectoryToHaikuImage home mail draft ; +AddDirectoryToHaikuImage home mail in ; +AddDirectoryToHaikuImage home mail out ; + +AddSymlinkToHaikuImage home config : settings/deskbar : be ; +# Deskbar Application links +AddDirectoryToHaikuImage home config settings deskbar Applications ; +DESKBAR_APPLICATIONS = Terminal ; +local linkTarget ; +for linkTarget in $(DESKBAR_APPLICATIONS) { + AddSymlinkToHaikuImage home config settings deskbar Applications + : /boot/system/apps/$(linkTarget) : $(linkTarget) ; +} + AddSymlinkToHaikuImage system bin : less : more ; AddSymlinkToHaikuImage system bin : gzip : gunzip ; AddSymlinkToHaikuImage system bin : gzip : zcat ; diff --git a/data/system/boot/Bootscript b/data/system/boot/Bootscript index 7c97b76..10305aa 100644 --- a/data/system/boot/Bootscript +++ b/data/system/boot/Bootscript @@ -119,7 +119,8 @@ fi # TODO: remove this when x86_64 is more complete. if [ "$(uname -m)" = "x86_64" ]; then cd /boot/home - launch system/apps/Terminal + launch system/Tracker + launch system/Deskbar exit fi diff --git a/src/apps/deskbar/BarApp.cpp b/src/apps/deskbar/BarApp.cpp index 4008406..0df3f9f 100644 --- a/src/apps/deskbar/BarApp.cpp +++ b/src/apps/deskbar/BarApp.cpp @@ -116,7 +116,7 @@ TBarApp::TBarApp() numTeams = teamList.CountItems(); for (int32 i = 0; i < numTeams; i++) { app_info appInfo; - team_id tID = (team_id)teamList.ItemAt(i); + team_id tID = (addr_t)teamList.ItemAt(i); if (be_roster->GetRunningAppInfo(tID, &appInfo) == B_OK) { AddTeam(appInfo.team, appInfo.flags, appInfo.signature, &appInfo.ref); @@ -454,7 +454,7 @@ TBarApp::MessageReceived(BMessage* message) message->FindInt32("be:team", &team); uint32 flags = 0; - message->FindInt32("be:flags", (long*)&flags); + message->FindInt32("be:flags", (int32*)&flags); const char* sig = NULL; message->FindString("be:signature", &sig); @@ -717,14 +717,14 @@ TBarApp::AddTeam(team_id team, uint32 flags, const char* sig, entry_ref* ref) int32 teamCount = sBarTeamInfoList.CountItems(); for (int32 i = 0; i < teamCount; i++) { BarTeamInfo* barInfo = (BarTeamInfo*)sBarTeamInfoList.ItemAt(i); - if (barInfo->teams->HasItem((void*)team)) + if (barInfo->teams->HasItem((void*)(addr_t)team)) return; if (strcasecmp(barInfo->sig, sig) == 0) multiLaunchTeam = barInfo; } if (multiLaunchTeam != NULL) { - multiLaunchTeam->teams->AddItem((void*)team); + multiLaunchTeam->teams->AddItem((void*)(addr_t)team); int32 subsCount = sSubscribers.CountItems(); if (subsCount > 0) { @@ -756,7 +756,7 @@ TBarApp::AddTeam(team_id team, uint32 flags, const char* sig, entry_ref* ref) FetchAppIcon(barInfo->sig, barInfo->icon); } - barInfo->teams->AddItem((void*)team); + barInfo->teams->AddItem((void*)(addr_t)team); sBarTeamInfoList.AddItem(barInfo); @@ -797,7 +797,7 @@ TBarApp::RemoveTeam(team_id team) int32 teamCount = sBarTeamInfoList.CountItems(); for (int32 i = 0; i < teamCount; i++) { BarTeamInfo* barInfo = (BarTeamInfo*)sBarTeamInfoList.ItemAt(i); - if (barInfo->teams->HasItem((void*)team)) { + if (barInfo->teams->HasItem((void*)(addr_t)team)) { int32 subsCount = sSubscribers.CountItems(); if (subsCount > 0) { BMessage message((barInfo->teams->CountItems() == 1) @@ -810,7 +810,7 @@ TBarApp::RemoveTeam(team_id team) } } - barInfo->teams->RemoveItem((void*)team); + barInfo->teams->RemoveItem((void*)(addr_t)team); if (barInfo->teams->CountItems() < 1) { delete (BarTeamInfo*)sBarTeamInfoList.RemoveItem(i); return; diff --git a/src/apps/deskbar/BarWindow.cpp b/src/apps/deskbar/BarWindow.cpp index b691f06..addf402 100644 --- a/src/apps/deskbar/BarWindow.cpp +++ b/src/apps/deskbar/BarWindow.cpp @@ -72,7 +72,11 @@ All rights reserved. #elif __GNUC__ <= 2 #define BMenuBar_StartMenuBar_Hack StartMenuBar__8BMenuBarlbT2P5BRect #elif __GNUC__ > 2 - #define BMenuBar_StartMenuBar_Hack _ZN8BMenuBar12StartMenuBarElbbP5BRect + #if B_HAIKU_64_BIT + #define BMenuBar_StartMenuBar_Hack _ZN8BMenuBar12StartMenuBarEibbP5BRect + #else + #define BMenuBar_StartMenuBar_Hack _ZN8BMenuBar12StartMenuBarElbbP5BRect + #endif #else # error "You may want to port this ugly hack to your compiler ABI" #endif diff --git a/src/apps/deskbar/ExpandoMenuBar.cpp b/src/apps/deskbar/ExpandoMenuBar.cpp index a13d2c3..fe1340b 100644 --- a/src/apps/deskbar/ExpandoMenuBar.cpp +++ b/src/apps/deskbar/ExpandoMenuBar.cpp @@ -338,7 +338,7 @@ TExpandoMenuBar::MouseDown(BPoint where) team_id teamID; for (int32 team = 0; team < teamCount; team++) { - teamID = (team_id)teams->ItemAt(team); + teamID = (addr_t)teams->ItemAt(team); kill_team(teamID); // remove the team immediately from display RemoveTeam(teamID, false); @@ -378,7 +378,7 @@ TExpandoMenuBar::MouseDown(BPoint where) if (message->FindInt32("clicks", &clicks) == B_OK && clicks > 1 && item == menuItem && item == fLastClickItem) { // activate this team - be_roster->ActivateApp((team_id)item->Teams()->ItemAt(0)); + be_roster->ActivateApp((addr_t)item->Teams()->ItemAt(0)); return; } @@ -627,8 +627,8 @@ TExpandoMenuBar::AddTeam(team_id team, const char* signature) // Only add to team menu items if (TTeamMenuItem* item = dynamic_cast<TTeamMenuItem*>(ItemAt(i))) { if (strcasecmp(item->Signature(), signature) == 0) { - if (!(item->Teams()->HasItem((void*)team))) - item->Teams()->AddItem((void*)team); + if (!(item->Teams()->HasItem((void*)(addr_t)team))) + item->Teams()->AddItem((void*)(addr_t)team); break; } } @@ -642,7 +642,7 @@ TExpandoMenuBar::RemoveTeam(team_id team, bool partial) int32 count = CountItems(); for (int32 i = fFirstApp; i < count; i++) { if (TTeamMenuItem* item = dynamic_cast<TTeamMenuItem*>(ItemAt(i))) { - if (item->Teams()->HasItem((void*)team)) { + if (item->Teams()->HasItem((void*)(addr_t)team)) { item->Teams()->RemoveItem(team); if (partial) @@ -849,7 +849,7 @@ TExpandoMenuBar::monitor_team_windows(void* arg) for (int32 j = 0; j < teamCount; j++) { // The following code is almost a copy/paste from // WindowMenu.cpp - team_id theTeam = (team_id)teamItem->Teams()->ItemAt(j); + team_id theTeam = (addr_t)teamItem->Teams()->ItemAt(j); int32 count = 0; int32* tokens = get_token_list(theTeam, &count); diff --git a/src/apps/deskbar/ShowHideMenuItem.cpp b/src/apps/deskbar/ShowHideMenuItem.cpp index 2c70197..e195eb7 100644 --- a/src/apps/deskbar/ShowHideMenuItem.cpp +++ b/src/apps/deskbar/ShowHideMenuItem.cpp @@ -115,7 +115,7 @@ TShowHideMenuItem::TeamShowHideCommon(int32 action, const BList* teamList, int32 count = teamList->CountItems(); for (int32 index = 0; index < count; index++) { - team_id team = (team_id)teamList->ItemAt(index); + team_id team = (addr_t)teamList->ItemAt(index); switch (action) { case B_MINIMIZE_WINDOW: diff --git a/src/apps/deskbar/StatusView.cpp b/src/apps/deskbar/StatusView.cpp index 4b2df60..fcea955 100644 --- a/src/apps/deskbar/StatusView.cpp +++ b/src/apps/deskbar/StatusView.cpp @@ -95,10 +95,11 @@ float sMinimumWindowWidth = kGutter + kMinimumTrayWidth + kDragRegionWidth; static void DumpItem(DeskbarItemInfo* item) { - printf("is addon: %i, id: %li\n", item->isAddOn, item->id); - printf("entry_ref: %ld, %Ld, %s\n", item->entryRef.device, - item->entryRef.directory, item->entryRef.name); - printf("node_ref: %ld, %Ld\n", item->nodeRef.device, item->nodeRef.node); + printf("is addon: %i, id: %" B_PRId32 "\n", item->isAddOn, item->id); + printf("entry_ref: %" B_PRIdDEV ", %" B_PRIdINO ", %s\n", + item->entryRef.device, item->entryRef.directory, item->entryRef.name); + printf("node_ref: %" B_PRIdDEV ", %" B_PRIdINO "\n", item->nodeRef.device, + item->nodeRef.node); } @@ -1428,7 +1429,7 @@ TDragRegion::DragRegion() const void TDragRegion::MouseDown(BPoint thePoint) { - ulong buttons; + uint32 buttons; BPoint where; BRect dragRegion(DragRegion()); diff --git a/src/apps/deskbar/Switcher.cpp b/src/apps/deskbar/Switcher.cpp index 7ba23b2..59963f6 100644 --- a/src/apps/deskbar/Switcher.cpp +++ b/src/apps/deskbar/Switcher.cpp @@ -486,7 +486,7 @@ TSwitchManager::MessageReceived(BMessage* message) message->FindInt32("team", &teamID); while ((tinfo = (TTeamGroup*)fGroupList.ItemAt(i)) != NULL) { - if (tinfo->TeamList()->HasItem((void*)teamID)) { + if (tinfo->TeamList()->HasItem((void*)(addr_t)teamID)) { fGroupList.RemoveItem(i); if (OKToUse(tinfo)) { @@ -555,8 +555,8 @@ TSwitchManager::MessageReceived(BMessage* message) for (int32 i = 0; i < fGroupList.CountItems(); i++) { TTeamGroup* tinfo = (TTeamGroup*)fGroupList.ItemAt(i); if (strcasecmp(tinfo->Signature(), signature) == 0) { - if (!(tinfo->TeamList()->HasItem((void*)team))) - tinfo->TeamList()->AddItem((void*)team); + if (!(tinfo->TeamList()->HasItem((void*)(addr_t)team))) + tinfo->TeamList()->AddItem((void*)(addr_t)team); break; } } @@ -569,8 +569,8 @@ TSwitchManager::MessageReceived(BMessage* message) for (int32 i = 0; i < fGroupList.CountItems(); i++) { TTeamGroup* tinfo = (TTeamGroup*)fGroupList.ItemAt(i); - if (tinfo->TeamList()->HasItem((void*)team)) { - tinfo->TeamList()->RemoveItem((void*)team); + if (tinfo->TeamList()->HasItem((void*)(addr_t)team)) { + tinfo->TeamList()->RemoveItem((void*)(addr_t)team); break; } } @@ -638,7 +638,7 @@ TSwitchManager::_SortApps() // find team TTeamGroup* info = NULL; for (int32 j = 0; (info = (TTeamGroup*)groups.ItemAt(j)) != NULL; j++) { - if (info->TeamList()->HasItem((void*)teams[i])) { + if (info->TeamList()->HasItem((void*)(addr_t)teams[i])) { groups.RemoveItem(j); break; } @@ -720,7 +720,7 @@ TSwitchManager::FindTeam(team_id teamID, int32* index) int i = 0; TTeamGroup* info; while ((info = (TTeamGroup*)fGroupList.ItemAt(i)) != NULL) { - if (info->TeamList()->HasItem((void*)teamID)) { + if (info->TeamList()->HasItem((void*)(addr_t)teamID)) { *index = i; return info; } @@ -953,7 +953,7 @@ TSwitchManager::ActivateApp(bool forceShow, bool allowWorkspaceSwitch) result = false; } else { result = true; - be_roster->ActivateApp((team_id)teamGroup->TeamList()->ItemAt(0)); + be_roster->ActivateApp((addr_t)teamGroup->TeamList()->ItemAt(0)); } ASSERT(windowInfo); @@ -1013,8 +1013,8 @@ TSwitchManager::ActivateApp(bool forceShow, bool allowWorkspaceSwitch) break; } if (matchWindowInfo->server_token != windowInfo->server_token - && teamGroup->TeamList()->HasItem((void*)matchWindowInfo->team)) - windowsToActivate.AddItem((void*)matchWindowInfo->server_token); + && teamGroup->TeamList()->HasItem((void*)(addr_t)matchWindowInfo->team)) + windowsToActivate.AddItem((void*)(addr_t)matchWindowInfo->server_token); free(matchWindowInfo); } @@ -1025,7 +1025,7 @@ TSwitchManager::ActivateApp(bool forceShow, bool allowWorkspaceSwitch) // order. int32 i = windowsToActivate.CountItems() - 1; for (; i >= 0; i--) { - int32 wid = (int32) windowsToActivate.ItemAt(i); + int32 wid = (addr_t)windowsToActivate.ItemAt(i); do_window_action(wid, B_BRING_TO_FRONT, BRect(0, 0, 0, 0), false); } @@ -1068,7 +1068,7 @@ TSwitchManager::QuitApp() // send the quit request to all teams in this group for (int32 i = teamGroup->TeamList()->CountItems(); i-- > 0;) { - team_id team = (team_id)teamGroup->TeamList()->ItemAt(i); + team_id team = (addr_t)teamGroup->TeamList()->ItemAt(i); app_info info; if (be_roster->GetRunningAppInfo(team, &info) == B_OK) { if (!strcasecmp(info.signature, kTrackerSignature)) { @@ -1091,7 +1091,7 @@ TSwitchManager::HideApp() TTeamGroup* teamGroup = (TTeamGroup*)fGroupList.ItemAt(fCurrentIndex); for (int32 i = teamGroup->TeamList()->CountItems(); i-- > 0;) { - team_id team = (team_id)teamGroup->TeamList()->ItemAt(i); + team_id team = (addr_t)teamGroup->TeamList()->ItemAt(i); app_info info; if (be_roster->GetRunningAppInfo(team, &info) == B_OK) do_minimize_team(BRect(), team, false); @@ -1124,7 +1124,7 @@ TSwitchManager::WindowInfo(int32 groupIndex, int32 windowIndex) if (windowInfo) { // skip hidden/special windows if (IsWindowOK(windowInfo) - && (teamGroup->TeamList()->HasItem((void*)windowInfo->team))) { + && (teamGroup->TeamList()->HasItem((void*)(addr_t)windowInfo->team))) { // this window belongs to the team! if (matches == windowIndex) { // we found it! @@ -1154,7 +1154,7 @@ TSwitchManager::CountWindows(int32 groupIndex, bool ) int32 result = 0; for (int32 i = 0; ; i++) { - team_id teamID = (team_id)teamGroup->TeamList()->ItemAt(i); + team_id teamID = (addr_t)teamGroup->TeamList()->ItemAt(i); if (teamID == 0) break; @@ -1206,7 +1206,7 @@ TSwitchManager::SwitchWindow(team_id team, bool, bool activate) for (int32 i = count - 1; i >= 0; i--) { client_window_info* windowInfo = get_window_info(tokens[i]); if (windowInfo && IsVisibleInCurrentWorkspace(windowInfo) - && teamGroup->TeamList()->HasItem((void*)windowInfo->team)) { + && teamGroup->TeamList()->HasItem((void*)(addr_t)windowInfo->team)) { fWindowID = windowInfo->server_token; if (activate) ActivateWindow(windowInfo->server_token); diff --git a/src/apps/deskbar/TeamMenuItem.cpp b/src/apps/deskbar/TeamMenuItem.cpp index 5b7900f..c60930b 100644 --- a/src/apps/deskbar/TeamMenuItem.cpp +++ b/src/apps/deskbar/TeamMenuItem.cpp @@ -90,7 +90,7 @@ TTeamMenuItem::InitData(BList* team, BBitmap* icon, char* name, char* sig, fSig = sig; if (fName == NULL) { char temp[32]; - snprintf(temp, sizeof(temp), "team %ld", (int32)team->ItemAt(0)); + snprintf(temp, sizeof(temp), "team %ld", (addr_t)team->ItemAt(0)); fName = strdup(temp); } diff --git a/src/apps/deskbar/WindowMenu.cpp b/src/apps/deskbar/WindowMenu.cpp index 65d98f2..102f1b4 100644 --- a/src/apps/deskbar/WindowMenu.cpp +++ b/src/apps/deskbar/WindowMenu.cpp @@ -120,7 +120,7 @@ TWindowMenu::AttachedToWindow() int32 teamCount = fTeam->CountItems(); for (int32 i = 0; i < teamCount; i++) { - team_id theTeam = (team_id)fTeam->ItemAt(i); + team_id theTeam = (addr_t)fTeam->ItemAt(i); int32 tokenCount = 0; int32* tokens = get_token_list(theTeam, &tokenCount);