From e1e856132c5152075dcb074f45bad765c4b73659 Mon Sep 17 00:00:00 2001 From: thislooksfun Date: Wed, 27 Oct 2021 18:49:49 -0500 Subject: [PATCH] LibGUI: Don't suggest widgets inside layouts Having a widget inside a layout is meaningless, so why suggest them in the first place? --- Userland/Libraries/LibGUI/GMLAutocompleteProvider.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibGUI/GMLAutocompleteProvider.cpp b/Userland/Libraries/LibGUI/GMLAutocompleteProvider.cpp index 30793d8a3c..5199fdf906 100644 --- a/Userland/Libraries/LibGUI/GMLAutocompleteProvider.cpp +++ b/Userland/Libraries/LibGUI/GMLAutocompleteProvider.cpp @@ -202,9 +202,16 @@ void GMLAutocompleteProvider::provide_completions(Function)> break; } } - if (!class_names.is_empty()) + if (!class_names.is_empty()) { register_class_properties_matching_pattern("*", 0u); + auto parent_registration = Core::ObjectClassRegistration::find(class_names.last()); + if (parent_registration && parent_registration->is_derived_from(layout_class)) { + // Layouts can't have child classes, so why suggest them? + break; + } + } + Core::ObjectClassRegistration::for_each([&](const Core::ObjectClassRegistration& registration) { if (!registration.is_derived_from(widget_class)) return;