Avoid calling QHash::contains and then looking up the value

Fetch value and if present use it.

Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
wilder/Plasma/6.3
Aleix Pol Gonzalez 1 year ago
parent 1910e24e46
commit 2d5ed0c426
  1. 3
      src/backends/drm/drm_egl_layer_surface.cpp
  2. 4
      src/core/outputlayer.cpp
  3. 6
      src/effect/quickeffect.cpp

@ -340,7 +340,8 @@ bool EglGbmLayerSurface::doesSurfaceFit(Surface *surface, const QSize &size, con
return formats.contains(surface->importDumbSwapchain->format());
case MultiGpuImportMode::Egl: {
const auto format = surface->importGbmSwapchain->format();
return formats.contains(format) && (surface->importGbmSwapchain->modifier() == DRM_FORMAT_MOD_INVALID || formats[format].contains(surface->importGbmSwapchain->modifier()));
const auto it = formats.find(format);
return it != formats.end() && (surface->importGbmSwapchain->modifier() == DRM_FORMAT_MOD_INVALID || it->contains(surface->importGbmSwapchain->modifier()));
}
}
Q_UNREACHABLE();

@ -79,12 +79,12 @@ bool OutputLayer::importScanoutBuffer(SurfaceItem *surfaceItem, const std::share
return false;
}
const auto formats = supportedDrmFormats();
if (!formats.contains(attrs->format) || !formats[attrs->format].contains(attrs->modifier)) {
if (auto it = formats.find(attrs->format); it != formats.end() && !it->contains(attrs->modifier)) {
if (m_scanoutCandidate && m_scanoutCandidate != surfaceItem) {
m_scanoutCandidate->setScanoutHint(nullptr, {});
}
m_scanoutCandidate = surfaceItem;
surfaceItem->setScanoutHint(scanoutDevice(), supportedDrmFormats());
surfaceItem->setScanoutHint(scanoutDevice(), formats);
return false;
}
m_sourceRect = surfaceItem->bufferSourceBox();

@ -76,12 +76,12 @@ public:
bool QuickSceneEffectPrivate::isItemOnScreen(QQuickItem *item, Output *screen) const
{
if (!item || !screen || !views.contains(screen)) {
if (!item || !screen) {
return false;
}
const auto &view = views.at(screen);
return item->window() == view->window();
const auto it = views.find(screen);
return it != views.end() && item->window() == it->second->window();
}
QuickSceneView::QuickSceneView(QuickSceneEffect *effect, Output *screen)

Loading…
Cancel
Save