Skip to content

Commit 0afa8a4

Browse files
committed
fix: DebugBar initializes shared renderer instance
A dev cannot create shared renderer instance.
1 parent ad93e93 commit 0afa8a4

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

system/Debug/Toolbar/Collectors/Views.php

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ class Views extends BaseCollector
6060
protected $title = 'Views';
6161

6262
/**
63-
* Instance of the Renderer service
63+
* Instance of the shared Renderer service
6464
*
65-
* @var RendererInterface
65+
* @var RendererInterface|null
6666
*/
6767
protected $viewer;
6868

@@ -73,12 +73,9 @@ class Views extends BaseCollector
7373
*/
7474
protected $views = [];
7575

76-
/**
77-
* Constructor.
78-
*/
79-
public function __construct()
76+
private function getViewer(): void
8077
{
81-
$this->viewer = Services::renderer();
78+
$this->viewer ??= Services::renderer();
8279
}
8380

8481
/**
@@ -87,6 +84,8 @@ public function __construct()
8784
*/
8885
protected function formatTimelineData(): array
8986
{
87+
$this->getViewer();
88+
9089
$data = [];
9190

9291
$rows = $this->viewer->getPerformanceData();
@@ -121,8 +120,9 @@ protected function formatTimelineData(): array
121120
*/
122121
public function getVarData(): array
123122
{
124-
return [
123+
$this->getViewer();
125124

125+
return [
126126
'View Data' => $this->viewer->getData(),
127127
];
128128
}
@@ -132,6 +132,8 @@ public function getVarData(): array
132132
*/
133133
public function getBadgeValue(): int
134134
{
135+
$this->getViewer();
136+
135137
return count($this->viewer->getPerformanceData());
136138
}
137139

0 commit comments

Comments
 (0)