1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-01-12 17:17:50 +03:00

update AllScreens track information during startup

--Whenever a view is updating its layout then the AllScreens
tracked information [per layout tracking] should be updated
also. Until now this was happening only during startup and there
was a case that if during startup a view was requesting tracking
and the second one did not, then tracking for the entire layout
for all screens it could be faulty disabled.

BUG:411670
FIXED-IN:0.9.3
This commit is contained in:
Michail Vourlakos 2019-09-07 20:33:43 +03:00
parent 31f2dc5a4f
commit a9b4989236

View File

@ -198,12 +198,23 @@ void Windows::removeView(Latte::View *view)
void Windows::addRelevantLayout(Latte::View *view)
{
if (view->layout() && !m_layouts.contains(view->layout())) {
m_layouts[view->layout()] = new TrackedLayoutInfo(this, view->layout());
if (view->layout()) {
bool initializing {false};
if (!m_layouts.contains(view->layout())) {
initializing = true;
m_layouts[view->layout()] = new TrackedLayoutInfo(this, view->layout());
}
//! Update always the AllScreens tracking because there is a chance a view delayed to be assigned in a layout
//! and that could create a state the AllScreens tracking will be disabled if there is a View requesting
//! tracking and one that it does not during startup
updateRelevantLayouts();
updateHints(view->layout());
emit informationAnnouncedForLayout(view->layout());
if (initializing) {
updateHints(view->layout());
emit informationAnnouncedForLayout(view->layout());
}
}
}