Utils: Add missing guards

Change-Id: I95c38aac78d1c841f3d7915a6c68511d546a535a
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Marcus Tillmanns
2024-10-24 11:12:59 +02:00
parent 6b7d66df90
commit 9669ff4537
3 changed files with 9 additions and 9 deletions

View File

@@ -1174,14 +1174,14 @@ void LineEdit::setMinimumHeight(int height)
access(this)->setMinimumHeight(height);
}
void LineEdit::onReturnPressed(const std::function<void ()> &func)
void LineEdit::onReturnPressed(const std::function<void()> &func, QObject *guard)
{
QObject::connect(access(this), &Utils::FancyLineEdit::returnPressed, func);
QObject::connect(access(this), &Utils::FancyLineEdit::returnPressed, guard, func);
}
void LineEdit::onRightSideIconClicked(const std::function<void ()> &func)
void LineEdit::onRightSideIconClicked(const std::function<void()> &func, QObject *guard)
{
QObject::connect(access(this), &Utils::FancyLineEdit::rightButtonClicked, func);
QObject::connect(access(this), &Utils::FancyLineEdit::rightButtonClicked, guard, func);
}
Spinner::Spinner(std::initializer_list<I> ps)

View File

@@ -344,8 +344,8 @@ public:
void setPlaceHolderText(const QString &text);
void setCompleter(QCompleter *completer);
void setMinimumHeight(int height);
void onReturnPressed(const std::function<void()> &);
void onRightSideIconClicked(const std::function<void()> &);
void onReturnPressed(const std::function<void()> &, QObject *guard);
void onRightSideIconClicked(const std::function<void()> &, QObject *guard);
};
class QTCREATOR_UTILS_EXPORT Splitter : public Widget

View File

@@ -154,18 +154,18 @@ void setProperties(std::unique_ptr<T> &item, const sol::table &children, QObject
item->setMinimumHeight(*minHeight);
}
if constexpr (hasOnReturnPressed<T, void (T::*)(const std::function<void()> &)>::value) {
if constexpr (hasOnReturnPressed<T, void (T::*)(const std::function<void()> &, QObject *)>::value) {
const auto callback = children.get<sol::optional<sol::function>>("onReturnPressed");
if (callback)
{
item->onReturnPressed([func = *callback]() { void_safe_call(func); });
item->onReturnPressed([func = *callback]() { void_safe_call(func); }, guard);
}
}
if constexpr (hasOnRightSideIconClicked<T, void (T::*)(const std::function<void()> &)>::value) {
const auto callback = children.get<sol::optional<sol::function>>("onRightSideIconClicked");
if (callback)
item->onRightSideIconClicked([func = *callback]() { void_safe_call(func); });
item->onRightSideIconClicked([func = *callback]() { void_safe_call(func); }, guard);
}
if constexpr (hasSetFlat<T, void (T::*)(bool)>::value) {