HaikuDepot: Referencable Fixes
Some misuse of BReferencable / BReference are causing the debugger to fire while debugging another issue. This should fix some of it. Change-Id: I895e209afe9e350e35b111739140c85133107227 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2556 Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2019, Andrew Lindesay <[email protected]>.
|
* Copyright 2019-2020, Andrew Lindesay <[email protected]>.
|
||||||
* All rights reserved. Distributed under the terms of the MIT License.
|
* All rights reserved. Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
#include "LanguageModel.h"
|
#include "LanguageModel.h"
|
||||||
@@ -33,7 +33,7 @@ LanguagesCompareFn(const LanguageRef& l1, const LanguageRef& l2)
|
|||||||
LanguageModel::LanguageModel()
|
LanguageModel::LanguageModel()
|
||||||
:
|
:
|
||||||
fSupportedLanguages(LanguagesCompareFn, NULL),
|
fSupportedLanguages(LanguagesCompareFn, NULL),
|
||||||
fPreferredLanguage(LANGUAGE_DEFAULT)
|
fPreferredLanguage(LanguageRef(new Language(LANGUAGE_DEFAULT)))
|
||||||
{
|
{
|
||||||
const Language defaultLanguage = _DeriveDefaultLanguage();
|
const Language defaultLanguage = _DeriveDefaultLanguage();
|
||||||
fSupportedLanguages.Add(LanguageRef(
|
fSupportedLanguages.Add(LanguageRef(
|
||||||
@@ -69,7 +69,7 @@ LanguageModel::AddSupportedLanguages(const LanguageList& languages)
|
|||||||
void
|
void
|
||||||
LanguageModel::_SetPreferredLanguage(const Language& language)
|
LanguageModel::_SetPreferredLanguage(const Language& language)
|
||||||
{
|
{
|
||||||
fPreferredLanguage = language;
|
fPreferredLanguage = LanguageRef(new Language(language));
|
||||||
if(Logger::IsDebugEnabled())
|
if(Logger::IsDebugEnabled())
|
||||||
printf("set preferred language [%s]\n", language.Code());
|
printf("set preferred language [%s]\n", language.Code());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2019, Andrew Lindesay <[email protected]>.
|
* Copyright 2019-2020, Andrew Lindesay <[email protected]>.
|
||||||
* All rights reserved. Distributed under the terms of the MIT License.
|
* All rights reserved. Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
#ifndef LANGUAGE_MODEL_H
|
#ifndef LANGUAGE_MODEL_H
|
||||||
@@ -28,7 +28,7 @@ public:
|
|||||||
int32 IndexOfSupportedLanguage(
|
int32 IndexOfSupportedLanguage(
|
||||||
const BString& languageCode) const;
|
const BString& languageCode) const;
|
||||||
|
|
||||||
const Language& PreferredLanguage() const
|
const LanguageRef PreferredLanguage() const
|
||||||
{ return fPreferredLanguage; }
|
{ return fPreferredLanguage; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -40,7 +40,7 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
LanguageList fSupportedLanguages;
|
LanguageList fSupportedLanguages;
|
||||||
Language fPreferredLanguage;
|
LanguageRef fPreferredLanguage;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -915,7 +915,7 @@ Model::DumpExportRepositoryDataPath(BPath& path) const
|
|||||||
{
|
{
|
||||||
BString leaf;
|
BString leaf;
|
||||||
leaf.SetToFormat("repository-all_%s.json.gz",
|
leaf.SetToFormat("repository-all_%s.json.gz",
|
||||||
LanguageModel().PreferredLanguage().Code());
|
LanguageModel().PreferredLanguage()->Code());
|
||||||
return StorageUtils::LocalWorkingFilesPath(leaf, path);
|
return StorageUtils::LocalWorkingFilesPath(leaf, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -930,7 +930,7 @@ Model::DumpExportReferenceDataPath(BPath& path) const
|
|||||||
{
|
{
|
||||||
BString leaf;
|
BString leaf;
|
||||||
leaf.SetToFormat("reference-all_%s.json.gz",
|
leaf.SetToFormat("reference-all_%s.json.gz",
|
||||||
LanguageModel().PreferredLanguage().Code());
|
LanguageModel().PreferredLanguage()->Code());
|
||||||
return StorageUtils::LocalWorkingFilesPath(leaf, path);
|
return StorageUtils::LocalWorkingFilesPath(leaf, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -948,7 +948,7 @@ Model::DumpExportPkgDataPath(BPath& path,
|
|||||||
{
|
{
|
||||||
BString leaf;
|
BString leaf;
|
||||||
leaf.SetToFormat("pkg-all-%s-%s.json.gz", repositorySourceCode.String(),
|
leaf.SetToFormat("pkg-all-%s-%s.json.gz", repositorySourceCode.String(),
|
||||||
LanguageModel().PreferredLanguage().Code());
|
LanguageModel().PreferredLanguage()->Code());
|
||||||
return StorageUtils::LocalWorkingFilesPath(leaf, path);
|
return StorageUtils::LocalWorkingFilesPath(leaf, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ ProcessCoordinatorFactory::CreateBulkLoadCoordinator(
|
|||||||
for (int32 i = 0; i < repoNames.CountStrings(); i++) {
|
for (int32 i = 0; i < repoNames.CountStrings(); i++) {
|
||||||
ProcessNode* processNode = new ProcessNode(
|
ProcessNode* processNode = new ProcessNode(
|
||||||
new ServerPkgDataUpdateProcess(
|
new ServerPkgDataUpdateProcess(
|
||||||
model->Language().PreferredLanguage().Code(),
|
model->Language().PreferredLanguage()->Code(),
|
||||||
repoNames.StringAt(i), model, serverProcessOptions));
|
repoNames.StringAt(i), model, serverProcessOptions));
|
||||||
processNode->AddPredecessor(serverRepositoryDataUpdate);
|
processNode->AddPredecessor(serverRepositoryDataUpdate);
|
||||||
processNode->AddPredecessor(serverReferenceDataUpdate);
|
processNode->AddPredecessor(serverReferenceDataUpdate);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2019, Andrew Lindesay <[email protected]>.
|
* Copyright 2019-2020, Andrew Lindesay <[email protected]>.
|
||||||
* All rights reserved. Distributed under the terms of the MIT License.
|
* All rights reserved. Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ ServerReferenceDataUpdateProcess::UrlPathComponent()
|
|||||||
BString result;
|
BString result;
|
||||||
AutoLocker<BLocker> locker(fModel->Lock());
|
AutoLocker<BLocker> locker(fModel->Lock());
|
||||||
result.SetToFormat("/__reference/all-%s.json.gz",
|
result.SetToFormat("/__reference/all-%s.json.gz",
|
||||||
fModel->Language().PreferredLanguage().Code());
|
fModel->Language().PreferredLanguage()->Code());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2017-2019, Andrew Lindesay <[email protected]>.
|
* Copyright 2017-2020, Andrew Lindesay <[email protected]>.
|
||||||
* All rights reserved. Distributed under the terms of the MIT License.
|
* All rights reserved. Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -181,7 +181,7 @@ ServerRepositoryDataUpdateProcess::UrlPathComponent()
|
|||||||
BString result;
|
BString result;
|
||||||
AutoLocker<BLocker> locker(fModel->Lock());
|
AutoLocker<BLocker> locker(fModel->Lock());
|
||||||
result.SetToFormat("/__repository/all-%s.json.gz",
|
result.SetToFormat("/__repository/all-%s.json.gz",
|
||||||
fModel->Language().PreferredLanguage().Code());
|
fModel->Language().PreferredLanguage()->Code());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2013-214, Stephan Aßmus <[email protected]>.
|
* Copyright 2013-214, Stephan Aßmus <[email protected]>.
|
||||||
* Copyright 2017, Julian Harnath <[email protected]>.
|
* Copyright 2017, Julian Harnath <[email protected]>.
|
||||||
|
* Copyright 2020, Andrew Lindesay <[email protected]>.
|
||||||
* All rights reserved. Distributed under the terms of the MIT License.
|
* All rights reserved. Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -123,7 +124,7 @@ public:
|
|||||||
virtual ~PackageView()
|
virtual ~PackageView()
|
||||||
{
|
{
|
||||||
fPackageListener->SetPackage(PackageInfoRef(NULL));
|
fPackageListener->SetPackage(PackageInfoRef(NULL));
|
||||||
delete fPackageListener;
|
fPackageListener->ReleaseReference();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void AllAttached()
|
virtual void AllAttached()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2014, Stephan Aßmus <[email protected]>.
|
* Copyright 2014, Stephan Aßmus <[email protected]>.
|
||||||
* Copyright 2016-2019, Andrew Lindesay <[email protected]>.
|
* Copyright 2016-2020, Andrew Lindesay <[email protected]>.
|
||||||
* All rights reserved. Distributed under the terms of the MIT License.
|
* All rights reserved. Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -153,8 +153,8 @@ protected:
|
|||||||
virtual const BBitmap* StarBitmap()
|
virtual const BBitmap* StarBitmap()
|
||||||
{
|
{
|
||||||
if (fRatingDeterminate)
|
if (fRatingDeterminate)
|
||||||
return fStarBlueBitmap.Bitmap(SharedBitmap::SIZE_16);
|
return fStarBlueBitmap->Bitmap(SharedBitmap::SIZE_16);
|
||||||
return fStarGrayBitmap.Bitmap(SharedBitmap::SIZE_16);
|
return fStarGrayBitmap->Bitmap(SharedBitmap::SIZE_16);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -246,7 +246,7 @@ RatePackageWindow::RatePackageWindow(BWindow* parent, BRect frame,
|
|||||||
|
|
||||||
{
|
{
|
||||||
AutoLocker<BLocker> locker(fModel.Lock());
|
AutoLocker<BLocker> locker(fModel.Lock());
|
||||||
fCommentLanguageCode = fModel.Language().PreferredLanguage().Code();
|
fCommentLanguageCode = fModel.Language().PreferredLanguage()->Code();
|
||||||
|
|
||||||
// Construct languages popup
|
// Construct languages popup
|
||||||
BPopUpMenu* languagesMenu = new BPopUpMenu(B_TRANSLATE("Language"));
|
BPopUpMenu* languagesMenu = new BPopUpMenu(B_TRANSLATE("Language"));
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ UserLoginWindow::UserLoginWindow(BWindow* parent, BRect frame, Model& model)
|
|||||||
|
|
||||||
{
|
{
|
||||||
AutoLocker<BLocker> locker(fModel.Lock());
|
AutoLocker<BLocker> locker(fModel.Lock());
|
||||||
fPreferredLanguageCode = fModel.Language().PreferredLanguage().Code();
|
fPreferredLanguageCode = fModel.Language().PreferredLanguage()->Code();
|
||||||
// Construct languages popup
|
// Construct languages popup
|
||||||
BPopUpMenu* languagesMenu = new BPopUpMenu(B_TRANSLATE("Language"));
|
BPopUpMenu* languagesMenu = new BPopUpMenu(B_TRANSLATE("Language"));
|
||||||
fLanguageCodeField = new BMenuField("language",
|
fLanguageCodeField = new BMenuField("language",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2013-2014, Stephan Aßmus <superstippi@gmx.de>.
|
* Copyright 2013-2014, Stephan Aßmus <superstippi@gmx.de>.
|
||||||
* Copyright 2018, Andrew Lindesay <apl@lindesay.co.nz>.
|
* Copyright 2018-2020, Andrew Lindesay <apl@lindesay.co.nz>.
|
||||||
* All rights reserved. Distributed under the terms of the MIT License.
|
* All rights reserved. Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -17,8 +17,8 @@
|
|||||||
RatingView::RatingView(const char* name)
|
RatingView::RatingView(const char* name)
|
||||||
:
|
:
|
||||||
BView(name, B_WILL_DRAW),
|
BView(name, B_WILL_DRAW),
|
||||||
fStarBlueBitmap(RSRC_STAR_BLUE),
|
fStarBlueBitmap(new SharedBitmap(RSRC_STAR_BLUE)),
|
||||||
fStarGrayBitmap(RSRC_STAR_GREY),
|
fStarGrayBitmap(new SharedBitmap(RSRC_STAR_GREY)),
|
||||||
fRating(RATING_MISSING)
|
fRating(RATING_MISSING)
|
||||||
{
|
{
|
||||||
SetViewUIColor(B_PANEL_BACKGROUND_COLOR);
|
SetViewUIColor(B_PANEL_BACKGROUND_COLOR);
|
||||||
@@ -46,8 +46,8 @@ const BBitmap*
|
|||||||
RatingView::StarBitmap()
|
RatingView::StarBitmap()
|
||||||
{
|
{
|
||||||
if (fRating < RATING_MIN)
|
if (fRating < RATING_MIN)
|
||||||
return fStarGrayBitmap.Bitmap(SharedBitmap::SIZE_16);
|
return fStarGrayBitmap->Bitmap(SharedBitmap::SIZE_16);
|
||||||
return fStarBlueBitmap.Bitmap(SharedBitmap::SIZE_16);
|
return fStarBlueBitmap->Bitmap(SharedBitmap::SIZE_16);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2013-2014, Stephan Aßmus <superstippi@gmx.de>.
|
* Copyright 2013-2014, Stephan Aßmus <superstippi@gmx.de>.
|
||||||
* Copyright 2018, Andrew Lindesay <apl@lindesay.co.nz>.
|
* Copyright 2018-2020, Andrew Lindesay <apl@lindesay.co.nz>.
|
||||||
* All rights reserved. Distributed under the terms of the MIT License.
|
* All rights reserved. Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
#ifndef RATING_VIEW_H
|
#ifndef RATING_VIEW_H
|
||||||
#define RATING_VIEW_H
|
#define RATING_VIEW_H
|
||||||
|
|
||||||
|
|
||||||
|
#include <Referenceable.h>
|
||||||
#include <View.h>
|
#include <View.h>
|
||||||
|
|
||||||
#include "SharedBitmap.h"
|
#include "SharedBitmap.h"
|
||||||
@@ -29,8 +30,10 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual const BBitmap* StarBitmap();
|
virtual const BBitmap* StarBitmap();
|
||||||
SharedBitmap fStarBlueBitmap;
|
BReference<SharedBitmap>
|
||||||
SharedBitmap fStarGrayBitmap;
|
fStarBlueBitmap;
|
||||||
|
BReference<SharedBitmap>
|
||||||
|
fStarGrayBitmap;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
float fRating;
|
float fRating;
|
||||||
|
|||||||
Reference in New Issue
Block a user