mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Fix crash in leaving Recent Actions with GIFs.
This commit is contained in:
parent
e5ac7a1416
commit
a9422111a2
3 changed files with 12 additions and 4 deletions
|
@ -632,6 +632,9 @@ void InnerWidget::saveState(not_null<SectionMemento*> memento) {
|
||||||
memento->setAdminsCanEdit(std::move(_adminsCanEdit));
|
memento->setAdminsCanEdit(std::move(_adminsCanEdit));
|
||||||
memento->setSearchQuery(std::move(_searchQuery));
|
memento->setSearchQuery(std::move(_searchQuery));
|
||||||
if (!_filterChanged) {
|
if (!_filterChanged) {
|
||||||
|
for (auto &item : _items) {
|
||||||
|
item.clearView();
|
||||||
|
}
|
||||||
memento->setItems(
|
memento->setItems(
|
||||||
base::take(_items),
|
base::take(_items),
|
||||||
base::take(_eventIds),
|
base::take(_eventIds),
|
||||||
|
|
|
@ -480,7 +480,7 @@ OwnedItem &OwnedItem::operator=(OwnedItem &&other) {
|
||||||
}
|
}
|
||||||
|
|
||||||
OwnedItem::~OwnedItem() {
|
OwnedItem::~OwnedItem() {
|
||||||
_view = nullptr;
|
clearView();
|
||||||
if (_data) {
|
if (_data) {
|
||||||
_data->destroy();
|
_data->destroy();
|
||||||
}
|
}
|
||||||
|
@ -491,6 +491,10 @@ void OwnedItem::refreshView(
|
||||||
_view = _data->createView(delegate);
|
_view = _data->createView(delegate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OwnedItem::clearView() {
|
||||||
|
_view = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void GenerateItems(
|
void GenerateItems(
|
||||||
not_null<HistoryView::ElementDelegate*> delegate,
|
not_null<HistoryView::ElementDelegate*> delegate,
|
||||||
not_null<History*> history,
|
not_null<History*> history,
|
||||||
|
|
|
@ -37,17 +37,18 @@ public:
|
||||||
OwnedItem &operator=(OwnedItem &&other);
|
OwnedItem &operator=(OwnedItem &&other);
|
||||||
~OwnedItem();
|
~OwnedItem();
|
||||||
|
|
||||||
HistoryView::Element *get() const {
|
[[nodiscard]] HistoryView::Element *get() const {
|
||||||
return _view.get();
|
return _view.get();
|
||||||
}
|
}
|
||||||
HistoryView::Element *operator->() const {
|
[[nodiscard]] HistoryView::Element *operator->() const {
|
||||||
return get();
|
return get();
|
||||||
}
|
}
|
||||||
operator HistoryView::Element*() const {
|
[[nodiscard]] operator HistoryView::Element*() const {
|
||||||
return get();
|
return get();
|
||||||
}
|
}
|
||||||
|
|
||||||
void refreshView(not_null<HistoryView::ElementDelegate*> delegate);
|
void refreshView(not_null<HistoryView::ElementDelegate*> delegate);
|
||||||
|
void clearView();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
HistoryItem *_data = nullptr;
|
HistoryItem *_data = nullptr;
|
||||||
|
|
Loading…
Add table
Reference in a new issue