summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Göttsche <cgzones@googlemail.com>2021-03-12 16:46:55 +0100
committerChristian Göttsche <cgzones@googlemail.com>2021-03-12 16:46:55 +0100
commitd37d66bb3a089b9e66c6629a4855560984ac720d (patch)
tree1bc77669da335f53eff7d64687809c748a36c34c
parent3f99c2de245e950b8004fde023e45a0dd6389381 (diff)
InfoScreen/ProcessList: do not access Vector internals
Use wrapper function to encapsulate the Vector structure
-rw-r--r--InfoScreen.c2
-rw-r--r--ProcessList.c2
-rw-r--r--Vector.h4
3 files changed, 6 insertions, 2 deletions
diff --git a/InfoScreen.c b/InfoScreen.c
index 80e04837..4a1f6592 100644
--- a/InfoScreen.c
+++ b/InfoScreen.c
@@ -28,7 +28,7 @@ InfoScreen* InfoScreen_init(InfoScreen* this, const Process* process, FunctionBa
}
this->display = Panel_new(0, 1, COLS, height, Class(ListItem), false, bar);
this->inc = IncSet_new(bar);
- this->lines = Vector_new(this->display->items->type, true, DEFAULT_SIZE);
+ this->lines = Vector_new(Vector_type(this->display->items), true, DEFAULT_SIZE);
Panel_setHeader(this->display, panelHeader);
return this;
}
diff --git a/ProcessList.c b/ProcessList.c
index 869bde44..cb89b720 100644
--- a/ProcessList.c
+++ b/ProcessList.c
@@ -202,7 +202,7 @@ static void ProcessList_updateTreeSetLayer(ProcessList* this, unsigned int leftB
if (layerSize == 0)
return;
- Vector* layer = Vector_new(this->processes->type, false, layerSize);
+ Vector* layer = Vector_new(Vector_type(this->processes), false, layerSize);
// Find all processes on the same layer (process with the same `deep` value
// and included in a range from `leftBound` to `rightBound`).
diff --git a/Vector.h b/Vector.h
index 875f361d..dab94693 100644
--- a/Vector.h
+++ b/Vector.h
@@ -68,6 +68,10 @@ static inline int Vector_size(const Vector* this) {
#endif /* NDEBUG */
+static inline const ObjectClass* Vector_type(const Vector* this) {
+ return this->type;
+}
+
void Vector_add(Vector* this, void* data_);
int Vector_indexOf(const Vector* this, const void* search_, Object_Compare compare);

© 2014-2024 Faster IT GmbH | imprint | privacy policy